JQUERY:当2个字段更改其值时触发提交按钮

时间:2012-06-12 09:56:25

标签: jquery button triggers submit

当2个分隔的字段更改其值(“onHide”)时,我需要向提交按钮发送一个单击。该代码与酒店预订的2个日历相关。 也许我认为解决方案更简单,但我真的是新手jquery。 基本脚本:

$("#checkIn").bind("onHide", function()  { 
    checkIn = $("#checkIn").val();

    $.post('file.php', {"checkIn": checkIn}, function() {
        // do something more
    });
});


$("#checkOut").bind("onHide", function()  {  
    checkOut = $("#checkOut").val();

    $.post('file.php', {"checkOut": checkOut}, function() {
        // do something more
    });     
});

...因此,下一步将是(当两个字段都改变值时):

$("#submitButton").trigger('click'); 

函数(onHide)工作正常。 BTW:checkOut取决于checkIn,但并不重要。 我只需要知道如何将点击发送到submitButton。 请问一些建议? 提前谢谢。

2 个答案:

答案 0 :(得分:3)

您可能最好只是直接提交表单而不是尝试模拟按钮上的点击:

document.forms[0].submit();//this will submit the first form found on the page

JQuery's submit(感谢@akalucas):

$("#form").sumbit();

如果您需要在提交方面做额外的工作,我建议将一个函数绑定到提交按钮的click事件,然后在字段更改时调用该函数:

$("#submitButton").click(SubmitForm);

function SubmitForm(){
   //something else I might need to do like validation
   document.forms[0].submit();
}

function AnyOtherFuntion(){
   SubmitForm();
}

编辑:根据新信息,您可能需要以下内容:

var checkInValue = "";
var checkOutValue = "";

$(document).onload(function(){
   checkInValue = $("#checkIn").val();
   checkOutValue = $("#checkOut").val();

   $("#checkIn").change(OnChange);
   $("#checkOut").change(OnChange);
});

function OnChange(){
   if(checkInValue != $("#checkIn").val() && checkOutValue != $("#checkOut").val()){
      SubmitForm();
   }
}

function SubmitForm(){
   document.forms[0].submit();
}

答案 1 :(得分:0)

您可以提交表单,而无需点击提交更好地去那个

  document.form_name.submit();