代码之家  ›  专栏  ›  技术社区  ›  mcgrailm

在jQuery submit中设置submit值

  •  15
  • mcgrailm  · 技术社区  · 14 年前

    我想使用jQuery提交我的表单,我可以这样做

      $('#myform_id').submit();
    

    这一切都很好,但通常有人点击一个提交按钮比提交按钮有一个值,所以当我通过jQuery提交我还需要设置一个提交值我怎么做?

    正如一些答案所指出的,我可以通过模拟用户单击来实现这一点,但我不想这样做,如果可能的话,我想在使用.submit()命令时传递submit值

    **澄清**

    好的,我有jQuery设置来使用jQuery validate,还有一个提交处理程序

    $("#myform_id").validate({
        submitHandler: function() {
            run_ajax(obj);
        }
    });
    

    然后调用I函数,我调用run\uajax传递,对象包含关于我想要什么类型的ajax以及您拥有什么的信息。

    最终运行这个

    obj.formitem.ajaxSubmit({
        dataType:'json',
        data: obj.pdata,
    });
    

    哪里

      obj.formitem == $('#myform_id');
    

    所以当表格被提交时,一切都会好起来。

    因此,我将带有此表单的页面加载到jquery对话框中,我希望他们能够单击对话框中触发表单提交的按钮,并告诉表单请求的提交类型

    希望这是清楚的,抱歉混淆

    7 回复  |  直到 14 年前
        1
  •  15
  •   sjobe    14 年前

    $('#myform_id #submitButtonID').click();

        2
  •  20
  •   Community trashgod    7 年前

    https://stackoverflow.com/a/993897/215887 为我工作

    $('<input />').attr('type', 'hidden')
                  .attr('name', 'myButton')
                  .attr('value', 'MyButton')
                  .appendTo('#my-form');
    $('#my-form').submit();
    
        3
  •  2
  •   Community trashgod    7 年前

    .submit() 将为您提供传统的提交方式,通过页面刷新进行POST/get。

    var aaa = $("#your_form").serialize();
    $.post("your_url",aaa,function(response){/*do something*/},"json");
    

    就点击按钮而言,如果您有多个按钮可以提交一个表单。可以将隐藏字段用作窗体的一部分。在提交表单之前,根据按下的按钮更改隐藏字段。

    $(".submit_buttons").click(function(){
    
    $("#my_hidden_input").val($(this).attr("rel"));
    
    /* 
    above serialize and ajax post code
    */
    
    });
    

    <input type="button" class="submit_buttons" rel="special_button1" value="Button 1"/>
    <input type="hidden" id="my_hidden_input" />
    

    当我使用这个验证插件时,我就是这样做的。

    $("#right_form").validate(); //To add validation to the form
    
    validate9 = $("#right_form").validate().form(); //Check if the form validates 
    

    然后使用 if 检查validate9是否正确 true $.post() .

    我认为您可能使用iframe提交表单的几个原因:

    )你想用ajax上传一些文件。

    JS iframe limitations.

    不知道这是否有帮助,但是,如果你发现这一点,请张贴一个答案,让我们知道你是如何处理这个。

        4
  •  2
  •   schettino72    13 年前
       $('#myform').submit(function(event){
          /* stop form from submitting normally */
          event.preventDefault();
    
          // get form data and include value from submit button
          var post_data = form.serializeArray();
          post_data.push({name: event.originalEvent.explicitOriginalTarget.name,
                          value: event.originalEvent.explicitOriginalTarget.value
                         });
    
          // ...
       }
    
        5
  •  1
  •   mbrevoort    14 年前

    submit值只是作为参数传递的。如果你有:

    <input type="submit" name="mysubmit" value="click"/>
    

    然后请求将包含一个请求参数mysubmit=click。

    所以只需添加一个隐藏的输入类型,如下所示:

    <input type="hidden" name="mysubmit" value="click"/>
    
        6
  •  0
  •   3rgo    14 年前

    $('#form_id #submitbutton_id').val('your value');
    
        7
  •  -1
  •   Teja Kantamneni    14 年前

    您可以添加 Submit