簡體   English   中英

獲取變量不會發送到PHP腳本

[英]Get variables don't get send over to PHP script

我正在努力爭取過去兩天的工作,但我沒有想法。

基本上,我有一個帶有一堆縮略圖的圖像概述,如果我按下一個按鈕,每個拇指都會得到一個復選框(這與隱藏的元素一起使用),並且div出現時會帶有一個按鈕,該按鈕將觸發AJAX(也請嘗試發布)到PHP腳本。

這是大致的HTML:

$output .= '<div id="edit-menu" style="display:none; position:fixed; top:150px; right:0px;" class="panel">
<div class="panel-heading">Bewerk geselecteerde items</div>
</div>';
foreach($results as $file){
    if($config->ajax){
        $image = $file->image;
    }else{
        $image = $file->image;
    }
    if($image){
        $output .= '<div class="col-md-3 col-lg-2 col-sm-4">
        <div class="edit-wrapper" style="display:none;">
        <input type="checkbox" name="del[]" value="' . $file->id . '"></div>
        <div class="thumbnail"><div class="caption">
        <h4>' . $file->title . '</h4><p><a href="' . $config->urls->root .  'view-image/' . $file->id . '" class="label label-danger fancybox fancybox.ajax" data-fancybox-type="ajax" rel="tooltip" title="Bekijk">Bekijk</a>
        <a href="' . $pages->get('/register-use/')->url ."?picture_id=" .  $file->id . '" id="' . $file->id  . '" class="label label-default" rel="tooltip" title="Download now">Download</a></p></div>';
        $img = $image->size(150,150);
        $output .= '<img src="' . $img->url . '" alt="...">';
        $output .= '</div></div>';
    }

}
$output .= '<input name="submit" type="submit" class="btn btn-danger" id="delete-selected-items" value="Verwijder"/>';
$output .= "</div>";

這行得通,是的,我知道這很丑陋,但這是因為隨着時間的推移,我對其進行了很多更改。 這是我的JQuery AJAX請求以及其他一些東西,用於從復選框中收集數據:

$("#delete-selected-items").on("click", function(){
    if(confirm("Weet je zeker dat je de geselecteerde items wilt verwijderen?")) {
    var checked = []
    $("input[name='del[]']:checked").each(function ()
    {
        checked.push(parseInt($(this).val()));
    });
    console.log(checked);
    $.get('ajax-requests/delete-images', {'del[]':checked} , function(data){
        console.log(data);
    });
}
return false;

});

在我的PHP腳本中,我有以下內容:

 <?php
echo $_SERVER['REQUEST_METHOD'];
print_r($_GET);

?>

這回顯GET Array()就是這樣...沒有GET變量

還值得一提的是,在所提供的html上方的同一頁面上還有另一種形式。

誰能幫助我。 謝謝

嘗試這個

$("input[name='del[]']:checked").each(function (index, obj)
{
    checked.push(parseInt($(obj).val()));
});

我不確定,但是我會嘗試以下操作:

  • 您確實需要像Firebug這樣的工具來告訴您要發送到服務器的數據。 單擊“網絡”選項卡,您可以准確看到要發送到服務器的內容和接收到的內容。 這將告訴您問題是出在客戶端還是服務器上。

  • 知道“ console.log(checked);”的輸出將非常方便。 這將告訴我們是否有任何內容要發送到服務器。

  • 您需要驗證jquery select字符串匹配的元素數量。 試試這個:console.log($(“ input [name ='del []']:checked”)。length)這將告訴您是否確實有任何元素被匹配。 我懷疑元素名稱中的方括號會混淆jquery選擇器,因此實際上沒有任何匹配。 嘗試僅將其命名為“ del”而不加括號,然后看看是否可行。

  • 最后,在“每個”函數循環中需要console.log語句,該語句輸出.value()的值,因此您知道將正確的值壓入了數組

因此,您可能需要更改的幾件事。

將輸入名稱從xx []更改為xx,然后使用以下內容查看操作方法。 詢問是否需要幫助。

演示: JSFiddle

HTML(僅示例)

<div id="edit-menu" class="panel">
    <div class="panel-heading">Bewerk geselecteerde items</div>
</div>
<div class="col-md-3 col-lg-2 col-sm-4">
    <div class="edit-wrapper">
        <input type="checkbox" name="del" value="one">
        <input type="checkbox" name="del" value="two">
        <input type="checkbox" name="del" value="three">
        <input type="checkbox" name="del" value="four">
        <input type="checkbox" name="del" value="five">
        <input name="submit" type="submit" class="btn btn-danger" id="delete-selected-items" value="Verwijder"/>
    </div>
</div>

JS:

$(function() {
    var checked = [];
    $('#delete-selected-items').click(function(){
        $("input[name='del']:checked").each(function () {
            checked.push( $(this).val() );
            //use the below ONLY if your values are numbers;
            //checked.push( +($(this).val()) );
        });
        alert(checked);
        $.get('ajax-requests/delete-images', {del: checked} , function(data){
            console.log(data);
        });
    });
});

我在這里可能會丟失它,但是您的Ajax中的網址是否需要具有.php擴展名? 否則,您可以將PHP更改為僅具有var_dump($_REQUEST); 查看正在發送到頁面的任何參數(GET或POST)。

解:

$.get('ajax-requests/delete-images', {del: checked} , function(data){

$.get('ajax-requests/delete-images/', {del: checked} , function(data){

我要跳個橋

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM