我有一组输入框,如果单击“添加更多”按钮,则可以添加越来越多的这些表单集。在我的表单中,我可以提交数据,并在重新加载页面时显示它。但是,在运行AJAX之前,我一直坚持确保所有字段都有值。我在这个项目中使用Jquery
我无法使用验证插件,因为我正在运行magento,每次尝试在“无冲突模式”下运行插件时,插件似乎都不起作用。因为我正在运行Magento,这意味着我需要在没有冲突模式下运行Jquery。
我已经看到了其他解决方案,但它们与输入框有关,我有1个输入框和2个选择框。如何确保之前填写的所有输入框以及所有未禁用的选择框在ajax
调用之前都已选中?
以下是我的HTML的一部分:
<form>
<input id="12">
<select id="1">
<option disabled="disabled" selected="selected">select please</option>
<option value="01">Option 1</option>
<option value="02">Option 2</option>
</select>
<select id="2">
<option disabled="disabled" selected="selected">Select Please</option>
<option value="01">Option 1</option>
<option value="02">Option 2</option>
</select>
答案 0 :(得分:2)
如果您在.val()
上使用<select/>
,则使用点击事件,如果null
上没有value
属性,则会返回<option/>
。
注意:如果您在选项上添加了value属性,则无效。
编辑:执行!==
比较会更快。
$("#submit-button").click(function(){
//if this is true, then it is valid
alert($("#1").val() !== null);
});
答案 1 :(得分:1)
您可以通过将输入值输入属性来实现。
此脚本会警告您的结构中有多少输入未完成或缺失的数量。
(没有jQuery)
var myForm=document.getElementsByTagName("form")[0];
var formSelectors=myForm.getElementsByTagName("select"),
formTextBoxes=myForm.getElementsByTagName("input"),
missing=0;
var i,
length=formSelectors.length;
for(i=0;length>i;i++){
if(formSelectors[i].value===formSelectors[i].children[0].value)
//Check if select value is equal to
//select please or Select please
//MISSING! (select)
missing++
}
length=formTextBoxes.length;
for(i=0;length>i;i++){
if(formTextBoxes[i].value.length===0)
//MISSING! (input)
missing++
}
alert(missing)
答案 2 :(得分:-1)
试试这个:
if($('#12').val()!='') {
// your code
}