2013-09-02 39 views
6

Tôi có biểu mẫu hiển thị hai nút radio (sử dụng PHP).HTML: Gửi biểu mẫu trên nút radio kiểm tra

echo "<form action=\"next.php\" method=\"post\">"; 
    echo "<input type=\"radio\" name=\"paid\" value=\"0\" checked=\"checked\">No<br>"; 
    echo "<input type=\"radio\" name=\"paid\" value=\"1\">Yes<br>"; 
echo "</form>"; 

Một trong các nút radio luôn được chọn theo mặc định. Nếu người dùng kiểm tra nút radio khác, tôi muốn biểu mẫu gửi chính nó (mà không cần người dùng phải nhấp vào nút gửi).

+1

Bạn sẽ cần JavaScript cho điều đó. – j08691

Trả lời

13

Bạn có thể làm điều này bằng jQuery (đặt mã bên trong thẻ </body>):

<script type='text/javascript'> 

$(document).ready(function() { 
    $('input[name=paid]').change(function(){ 
     $('form').submit(); 
    }); 
    }); 

</script> 

DEMO HERE

Để thêm jQuery để trang của bạn, hãy đặt dòng này bên trong thẻ <head>:

<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'> 
</script> 
+0

Tôi xin lỗi vì sự thiếu hiểu biết của tôi, nhưng tôi không có kinh nghiệm trong javascript và có khả năng sẽ không cần nó trên trang web của tôi ngoại trừ bit này. Đó có phải là một hàm javascript mà tôi cần phải đưa vào đầu trang của tôi không? Tôi hiểu mã mặc dù, chỉ không biết nó đi đâu. – Juicy

+0

Có, tôi sẽ thêm giải thích –

2

Sử dụng trình nghe thay đổi:

$("#paid").change(function(){ 
alert("test"); 
}); 

Bạn chỉ cần cung cấp cho nút radio của mình một id để đi cùng với tên. ID có thể giống như tên, để giữ cho nó đơn giản cho bạn.

17

bạn có thể thêm này vào đầu vào của bạn:

onchange='this.form.submit();' 

như:

echo "<form action=\"next.php\" method=\"post\">"; 
    echo "<input onchange='this.form.submit();' type=\"radio\" name=\"paid\" value=\"0\" checked=\"checked\">No<br>"; 
    echo "<input onchange='this.form.submit();' type=\"radio\" name=\"paid\" value=\"1\">Yes<br>"; 
echo "</form>"; 

DEMO

+2

bạn trả lời đơn giản hơn rất nhiều. Cảm ơn bạn. – Jeeva

Các vấn đề liên quan