2012-11-21 49 views
0

我生成按鈕的表格用PHP如何單獨的PHP生成按鈕

echo ' <td"> 
<form action="test.php" method="POST"> 
<input type="hidden" id="node" name="node" value="'.$fnode->{'name'}.'"> 
<input type="hidden" id="service" name="service" value="'.$flavor.'"> 
<input type="hidden" id="running" name="running" value="false"> 
<input type="submit" value="OFF" class="button"> 
</form> 
</td>'; 

我要發送的值,而無需通過jQuery AJAX重裝,我用這個代碼是:

$( 「按鈕」)點擊(函數(){ $( '錯誤')隱藏();

var dataString = 'node='+ document.getElementById('node').value + '&service=' + document.getElementById('service').value + '&running=' + document.getElementById('running').value; 

    $.ajax({ 
     type: "POST", 
     url: "test.php", 
     data: dataString, 
     success: function() { 
      alert ("Success"); 
     } 
    }); 
    return false; 
}); 

代碼工作至今 - 它只是總是從第一種形式發送數據。區分兩者的最佳方式是什麼?所有的按鈕。我可以在表格中使用一個計數器,但是我會如何精確地寫出js「ifs」。 有沒有更好的方法來做到這一點。表格數量是動態的。

回答

0

最好的方法是對錶單元素使用唯一的ID。另一種方法是將類設置爲具有相同名稱的多個元素。

但是,下面的方法更可取:

$("form").on("submit", function() { 
    $.ajax({ 
     type: "POST", 
     url: "test.php", 
     data: $(this).serialize(), 
     success: function() { 
      alert ("Success"); 
     } 
    }); 
    return false; 
}); 

(但無論如何不要忘記刪除從表單元素複製id屬性。)

1

你可以抓住的父窗體按鈕很容易點擊,但你也可能想在表單上爲其他事物設置一個唯一的ID。此外,您還需要刪除輸入上的ID或使其唯一。

echo ' <td"> 
<form action="test.php" method="POST" id="form_node_' . $fnode->{'name'} . '> 
<input type="hidden" name="node" value="'.$fnode->{'name'}.'"> 
<input type="hidden" name="service" value="'.$flavor.'"> 
<input type="hidden" name="running" value="false"> 
<input type="submit" value="OFF" class="button"> 
</form> 
</td>'; 


$(".button").click(function(e) { 
    e.preventDefault(); 
    $('.error').hide(); 
    var $form = $(this).closest('form'), // the closest parent form 
     dataString = $form.closest('form').serialize(); // serialize the values instead of manually encoding 
    $.ajax({ 
     type: "POST", 
     url: "test.php", 
     data: dataString, 
     success: function() { 
      alert ("Success submitting form ID " + $form.attr('id')); 
      // you can now modify the form you submitted 
     } 
    }); 
    return false; 
}); 
+0

這是正確的答案。 – OneOfOne

0

你可以給每一個提交按鈕的ID:

<input id="button-1" type="submit" value="OFF" class="button"> 

,然後觸發上的特定按鈕的點擊事件:

$("#button-1").click(function() { ... }); 
相關問題