【发布时间】:2017-04-20 13:25:20
【问题描述】:
我有这个小表单,默认情况下需要第一个字段(标题)。仅在特定条件下才需要第 2 和第 3。
案例一:如果填写工具名称,则工具名称和工具 URL 都需要。 案例二:如果填写工具URL,工具名称和工具URL都是必需的。
我不确定它是否按预期工作。 你能帮我更正我的代码吗?
$(document).ready(function(){
articleTitle = $('#title').val();
toolName = $('#toolName').val().trim();
toolURL = $('#toolURL').val();
if(((toolName.length>0)&&(toolURL==="")) || ((toolName.length<=0)&&(toolURL!==""))){
$('#toolName').prop('required', true);
$('#toolURL').prop('required' , true);
} else {
$('#toolName').prop('required', false);
$('#toolURL').prop('required', false);
}
$("#myForm").submit(function(){
sayHello();
return false;
});
});
label {
float: left;
width: 100px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<form id="myForm">
<label for="title">Title:</label> <input type="text" id="title" required> <br /><br />
<label for="toolName">Tool Name: </label><input type="text" id="toolName"> <br /> <br />
<label for="toolURL">Tool URL: </label><input type="url" id="toolURL"> <br /> <br />
<button>Submit</button>
</form>
【问题讨论】:
-
有什么问题?
-
问题是如果只填写标题和工具名,则不应提交表单。同样,如果 title 和 toolURL 已填写,则不应提交表单。但是,目前我能够做到这一点。
标签: javascript jquery html forms validation