也许这个问题之前得到了回答,但我无法将问题与其他答案相提并论,但事实上我确实做过研究。
我正在使用ajaxForm(http://jquery.malsup.com/form/)并且我想使用相同的函数来提交多个表单,但我的jQuery选择器不起作用:
$('#'+ idForm).ajaxForm({
除了问你们之外,我不知道还能做什么。
这是我的代码:
HTML:
<form id="jsonForm" action="/echo/json/" method="post">Message:
<input type="text" name="message" value="Hello JSON" />
<input id="HHHHHHHHH" type="button" onclick="formSubmit(this)" value="onclick not working">
<input type="submit" value="submit is working" />
</form>
<script type="text/javascript" src="http://malsup.github.com/jquery.form.js"></script>
JS:
function formSubmit(inputB) {
alert('click does not work');
var formulario = inputB.form;
var idForm = inputB.form.id;
var test = $('#jsonForm');
//debugger;
$('#' + idForm).ajaxForm({
dataType: 'json',
beforeSubmit: showRequest,
success: processJson
});
return false;
}
function processJson(data) {
//debugger;
alert("it worked" + data);
console.log("respose: " + data);
}
function showRequest(formData, jqForm, options) {
//debugger;
var queryString = $.param(formData);
console.log('About to submit: \n' + queryString + '\n');
return true;
}
$('#jsonForm').ajaxForm({
dataType: 'json',
beforeSubmit: showRequest,
success: processJson
});
感谢!!!
答案 0 :(得分:3)
在formSubmit方法
中使用ajaxSubmit而不是ajaxFormajaxForm只准备表单.it不提交
你可以这样做
function formSubmit(inputB) {
alert('click does not work');
var formulario = inputB.form;
var idForm = inputB.form.id;
var test = $('#jsonForm');
//debugger;
$('#' + idForm).ajaxSubmit({
dataType: 'json',
beforeSubmit: showRequest,
success: processJson
});
return false;
}
答案 1 :(得分:2)
单击按钮时,您是否忘记在表单上调用提交?
像这样:
function formSubmit(inputB) {
alert('click does not work');
var formulario = inputB.form;
var idForm = inputB.form.id;
var test = $('#jsonForm');
//debugger;
$('#' + idForm).ajaxForm({
dataType: 'json',
beforeSubmit: showRequest,
success: processJson
});
$('#' + idForm).submit();
return false;
}
答案 2 :(得分:1)
您是否尝试通过其他方式访问表单?例如:
var formulario = $(inputB).parent('form');
var idForm = $(formulario).attr('id');
$('#' + idForm).ajaxForm({
dataType: 'json',
beforeSubmit: showRequest,
success: processJson
});
//Just add this
$('#' + idForm).submit();
return false;
<强> [编辑] 强>
只需添加以下行:
//Just add this
$('#' + idForm).submit();
适用于fiddle