如何使用javascript/jquery仅在另一个输入不是空的情况下添加必需的属性?
我在表单中有一个列表,因此在每个列表项中有2个输入 我希望在提交表单时,如果我在同一个列表上的两个输入中有一个不是空的,那么它们都应该被满足(必需属性),但是如果在其他列表项上,这两个输入是空的,则按原样发送它们 以下是仅一个列表项的示例:如何使用javascript/jquery仅在另一个输入不是空的情况下添加必需的属性?,javascript,jquery,html,Javascript,Jquery,Html,我在表单中有一个列表,因此在每个列表项中有2个输入 我希望在提交表单时,如果我在同一个列表上的两个输入中有一个不是空的,那么它们都应该被满足(必需属性),但是如果在其他列表项上,这两个输入是空的,则按原样发送它们 以下是仅一个列表项的示例: <form class="settings-form quick-reports"> <ul class="report-list"> <li class="report-list-li">
<form class="settings-form quick-reports">
<ul class="report-list">
<li class="report-list-li">
<span class="report-num">Report 01</span>
<div class="settings-name-fields">
<label for="website-name1" class="report-name">Name</label>
<input class="website-input" type="text" id="website-name1">
</div>
<div class="settings-url-fields">
<label for="website-url1" class="report-url">URL</label>
<input class="url-input" type="url">
</div>
</li>
</ul>
</form>
但我不知道如何做到这一点,并使它适合我名单上的每一个项目
我所有的小提琴都是这应该可以满足你的需要: 使用循环:
或:
我建议不要在此处使用属性
required
,首先,此属性在所有浏览器中都不起作用(例如,忽略它),其次,在提交时设置它可能太晚
我会用这样的方式:
if($(input1).val() == "" && $(input2).val()==""){
//handle case and show error message
alert("Either input one or input2 needs a value");
e.preventDefault();
return false; //make sure the form is not submitted
}
非常感谢。正是我想要的。
$('#submit').click(function(e){
// remove required property in case that some fields were modified before click
$('.report-list input').prop('required', false).each(function(){
!$(this).val() || $(this).closest('li').find('input').prop('required', true);
});
});
$('#submit').click(function(e){
$('.report-list input').prop('required', false).filter(function(){
return $(this).val();
}).closest('li').find('input').prop('required', true);
});
if($(input1).val() == "" && $(input2).val()==""){
//handle case and show error message
alert("Either input one or input2 needs a value");
e.preventDefault();
return false; //make sure the form is not submitted
}