5

我有一个无法更改的表单,我必须仅从 jquery 处理其提交功能。

该表单只有单选按钮。我想在选中单选按钮时提交没有页面引用的表单。

这是我尝试过的代码。

$('input[type="radio"]').click(function(){
    if ($(this).is(':checked'))
    {
      $('form#my-form').submit(function(){
        alert('form submitted');
      });
    }
});

它应该提醒“提交的表单”,但它没有。

有什么我做错了吗?

4

6 回答 6

8

如果您想在没有页面加载的情况下提交表单,那么您需要使用 ajax。

如果您希望在提交时发出警报,则需要稍微修改您的代码..

$('input[type="radio"]').click(function(){
    if ($(this).is(':checked'))
    {
      $('form#my-form').submit();
    }
});

$('form#my-form').submit(function(){
        alert('form submitted');
      });
于 2012-09-12T11:33:15.940 回答
1

我在jsFiddle上试过这个例子。我的代码将在检查单选按钮时提交表单。

$('input[type="radio"]').click(function(){
    if ($(this).is(":checked"))
      $('form#my-form').submit();
});​

如果您想在提交表单时提醒任何内容,您必须添加此代码

$("#my-form").submit(function() {
    alert("submitting form ...");        
});
于 2012-09-12T11:34:15.220 回答
1

您的代码运行良好 - 只需确保将此代码放入 document.ready 事件中。

$(document).ready(function() {
    $('input[type="radio"]').click(function(){
        if ($(this).is(':checked'))
        {
          $('form#my-form').submit(function(){
            alert('form submitted');
          });
        }
    });
})

请注意,此选择器正在寻找所有单选按钮。此外,如果您不需要刷新页面 - 您应该添加 return false; 提交功能。

但请记住,这是您的情况,您需要先单击单选按钮才能使提交功能正常工作。

于 2012-09-12T12:02:56.820 回答
0

IF 中的代码显示:“如果表单已提交,则提醒用户”。因此,您必须在检查无线电控制时手动提交表单。

在关闭 IF 之前,输入以下代码:

$('yourForm').submit();
于 2012-09-12T11:28:04.633 回答
0

在这种情况下,您只需监听提交事件。如果要触发提交事件,请添加以下行:

$('form#my-form').submit();

于 2012-09-12T11:31:49.950 回答
0

因为你希望你的页面不被刷新,所以使用 Ajax,这里是官方文档:

http://api.jquery.com/jQuery.ajax/

于 2012-09-12T11:45:12.060 回答