2017-07-28 62 views
-1

我在PHP寫類似的東西:表單不通過jquery傳遞按鈕的值,爲什麼?

echo '<form method="post" id="delete">'; 
    while ($users = $getChildUsers -> fetch_array()){ 
     echo '<tr>'; 
      echo '<td>'.$users['user_id'].'</td>'; 
      echo '<td>'.$users['user_mail'].'</td>'; 
      echo '<td>'.$users['user_phone'].'</td>'; 
      echo '<td>'; 
        echo '<button type="submit" class="btn btn-primary" onclick="del_child_user();" name="user_id" value="'.$users['id'].'">Usuń </button>'; 
      echo '</td>'; 
     echo '</tr>'; 
    } 
    echo '</form>'; 

和使用的功能:

function del_child_user(){ 
$(document).on('submit', '#delete', function() 
{ 
    $.post('scripts/child_user.php', $(this).serialize(), function(data) 
    { 
     $("#del_msg").html(data); 
    }); 
    return false; 
});} 

當我試圖返回$_POST['user_id']的價值,也沒有顯示值。當我寫print_r($_POST)時,它給了我一個空數組。

我在做什麼錯?

+1

據我所知'serialize'只處理''元素 – MysterX

+1

哪裏是你輸入的形式? – epascarello

+0

我正在嘗試使用輸入類型=「提交」而不是按鈕,但它給了我相同的效果 –

回答

0

我會說,你的定義是錯誤的按鈕

您定義:

echo '<button type="submit" class="btn btn-primary" onclick="del_child_user();" name="user_id" value="'.**$users['id']**.'">Usuń </button>';

但在頂部,你寫$用戶_ [ 'user_ID的']

也許它只是一個錯字?

增加:這裏

的樣子,我創建了一個例子給你不使用表單達到自己的目標。

https://jsfiddle.net/9zbt9h2k/6/

+0

nope,$ users ['user_id']與我的db中的$ users ['id']不同,在$ users ['id']因爲它是INT值,它不顯示在頁面 –

+0

和文件Child_user.php我打電話$ _POST ['user_id']這是提到的按鈕的名稱。 –

+0

然後從MysterX的答案...序列化只索引表單域,但不是按鈕。 看這裏: https://jsfiddle.net/9zbt9h2k/ 刪除input = hidden,並且響應爲空。 – rebru