0

我有一个只有一个复选框的表单:

<form action="escreve.php" method="post">
    <label><input type="checkbox" autocomplete="off" checked="checked" name="autosave">Autosave</label>
    <input type="submit" name="formSubmit" value="Submit" />
</form>

这将触发 escreve.php。它工作正常,但问题是如何在没有提交按钮的情况下触发 escreve.php?在这种情况下似乎没有意义,因为此表单只有一个输入(复选框)。

我想让 escreve.php 在用户点击或点击时读取复选框的值。由于我也在使用 jQuery,这可能吗?

谢谢你的帮助!

4

6 回答 6

2

使用jquery表单提交方法

像这样试试

<form action="escreve.php" method="post" id="myForm">
    <label><input type="checkbox" autocomplete="off" checked="checked" name="autosave" id="autosave">Autosave</label>
    <input type="submit" name="formSubmit" value="Submit" />
</form>

$(document).ready(function(){
  $("#autosave").click(function(){
      $("#myForm").submit()
  });
});
于 2013-08-09T10:52:46.030 回答
2

您可以使用一些 javascript 来触发提交。

<form id='form' action="escreve.php" method="post">
    <label><input type="checkbox" autocomplete="off" checked="checked" name="autosave">Autosave</label>
</form>

<script>
$(document.ready(function (e) {
     $("input#autosave").click(function (e) {
         $("#form").submit();
     });
});
</script>
于 2013-08-09T10:58:04.450 回答
1

不要摆脱按钮,摆脱复选框。

<form action="escreve.php" method="post">
    <input type="submit" name="autosave" value="Autosave" />
</form>
于 2013-08-09T10:54:22.157 回答
0

你当然可以。请参阅 jQuery onChange() 或 onClick() 并使用 jQuery 提交表单 .submit()

于 2013-08-09T10:53:21.250 回答
0
  • 给你的表格一些 id
  • 然后在复选框的更改事件上使用 submit() 方法提交您的表单

例如

$('#chkid').change(function() { $('#frmid').submit(); });

于 2013-08-09T11:02:59.410 回答
0
   var form = $('form');  

  $('[name="autosave"]').click(function() {
        $.ajax({
          type: form.attr('method'),
          url: form.attr('action'),
          data: form.serialize()
        }).done(function() {
          // Optionally alert the user of success here...
        }).fail(function() {
          // Optionally alert the user of an error here...
        });
        event.preventDefault(); // Prevent the form from submitting via the browser.
    });
于 2013-08-09T10:55:49.187 回答