I $ .post();正确的一些形式元素与jquery。 现在,其中一些元素是必需的"当然我可以测试服务器端,如果它们被正确填充并返回响应,但如果我能触发经典的HTML所需的错误,那将是很好的,其中它也证明了缺失的领域。当然,我之后会对它们进行服务器测试,但至少我不需要用javascript进行突出显示。
我不想创建一个隐藏的帖子按钮。另外因为我一次发布了多个表格
formX.serialize() + formX+1.serialize() + ...
我想知道是否有办法。谢谢你。
答案 0 :(得分:1)
你也可以在jQuery中使用serializeArray
方法:https://api.jquery.com/serializeArray/
示例:
$(document).ready(function() {
var oParams = {
'invalid_msgs' : {
'title' : 'Kindly provide the title',
'body' : 'Kindly provide the body',
'type' : 'Kindly provide the type'
},
};
$('#frm-add-content').submit(function(event) {
event.preventDefault();
var oFormData = $(this).serializeArray();
// console.log(oFormData);
for (var iIndex in oFormData) {
if (oFormData.hasOwnProperty(iIndex) === true) {
var sInputKeys = oFormData[iIndex].name; // (e.g title)
var sInputValues = oFormData[iIndex].value; // (e.g Title 1)
/* If in case there are [input] fields that
* are not required in this case, You can set
* condition like this
* In this case, The input that had the [author]
* name attribute will be 'exempted' for validation
*/
var aNotRequiredInputKeys = ['author'];
if ($.inArray(sInputKeys, aNotRequiredInputKeys) < 0) {
if ($.trim(sInputValues) === '') {
alert(oParams.invalid_msgs[sInputKeys]);
return false;
}
}
}
}
});
});
这里有一个参考资料:https://jsfiddle.net/xdp70kt3/2/
希望这能指导你。
另一方面,您还可以添加required
html属性
你只想检查是否输入了值。
答案 1 :(得分:0)
您可以使用此jQuery插件验证表单:https://jqueryvalidation.org
您可以这样做:
$("#formX").validate({
submitHandler: function(form) {
$(form).ajaxSubmit();
}
});