我有两个表单,一个在主页上,另一个在iframe中。我想用一个提交按钮同时提交两个。
这是在主页上的一个:
<form id="loginForm" method="post" action="http://www.example.com/" >
<div class='hiddenFields'>
<input type="hidden" name="visitor_action" value="login" />
<input type="hidden" name="RET" value="http://www.example.com" />
<input type="hidden" name="site_id" value="1" />
<input type="hidden" name="csrf_token" value="2129d6db6941fc2f95b854720f77134f7753d1d7" />
</div>
<div id="sign_up_form">
<label>E-mail: <input type="text" name="username" id="username"/></label>
<div id="actions">
<input name="submit" type="submit" value="Sign In" />
</div>
<div id="login-error"></div>
</div>
</form>
Ajax/Json部分:$(document).ready(function(){
$('#loginForm').ajaxForm({
dataType: 'json',
success: function(data) {
if (data.success) {
window.location.replace("/cabinet/");
} else {
$('#login-error').delay(500).fadeIn('slow').html(data.errors.login);
$('#login-error').delay(2500).fadeOut('slow');
}
}
});
});
和IFRAME:
<iframe src="/manager/" id="cabinetz" name="myframe" frameborder="0" width="100%" scrolling="no"></iframe>
IFRAME内的表单id为"myform"。
如何修改json部分同时提交两个表单?
没有测试过,但是尝试用类设置一个按钮,为每个表单设置提交处理程序,然后在两个表单上触发$.submit()
。
<button class="do-forms">Submit</button>
$( ".do-forms" ).click(function() {
$("#loginForm").submit(function() {
// do ajax call
});
$("#myform").submit(function() {
// do ajax call
});
$( "#loginForm" ).submit();
$( "#myform" ).submit();
});
创建按钮并指定ID
Jquery代码$(document).ready(function () {
$('#loginForm').ajaxForm({
dataType: 'json',
success: function (data) {
if (data.success) {
window.location.replace("/cabinet/");
} else {
$('#login-error').delay(500).fadeIn('slow').html(data.errors.login);
$('#login-error').delay(2500).fadeOut('slow');
}
}
});
//ajax form method for second form
$('#myform').ajaxForm(function () {
alert("second form reponse");
});
//click event for submitting both form
$("#testbutton").on('click', function () {
$('#loginForm').submit();
$('#myform').submit();
});
});
这里是一个演示相同的情况,但没有iframe