我正在使用“添加另一个 url”动态创建文本框。我只为 5 个 url 放置了 url 计数器。
在此我使用 jquery 验证 url,然后提交最终 url。
但是如果第一个 url 不正确,如何禁用“添加另一个 url”按钮。这样我就无法创建第二个或第三个文本框。
如果 url 正确,则启用按钮。
代码如下
var current= 1;
$(document).ready(function() {
$("#addURL").click(function() {
if(current<5)
{
current++;
$newPerson= $("#userTemplate").clone(true);
$newPerson.children("p").children("label").each(function(i) {
var $currentElem= $(this);
$currentElem.attr("for",$currentElem.attr("for")+current);
});
$newPerson.children("p").children("input").each(function(i) {
var $currentElem= $(this);
$currentElem.attr("name",$currentElem.attr("name")+current);
$currentElem.attr("id",$currentElem.attr("id")+current);
});
$newPerson.appendTo("#mainField");
$newPerson.removeClass("hideElement");
//add validation
$("#url0"+current).rules("add", { required:true,url:true });
if(current == 5)
$("#addURL").hide();
}
});
$("#demoForm").validate({
rules: {
url1: {
required: true,
url: true
}
},
submitHandler: function(form) {
if($("#demoform").valid()) {
alert("hello");
}
}
});
console.log('r');
});
</script>
<style>
.hideElement {display:none;}
</style>
</head>
<body>
<form name="demoForm" id="demoForm" method="post" action="">
<fieldset id="mainField">
<div id="userTemplate" class="hideElement">
<p>
<label for="url0">Enter a valid URL</label> <em>* </em><input id="url0" name="url0" size="100" />
</p>
</div>
<div>
<p>
<label for="url1">Enter a valid URL</label>
<em>* </em><input id="url1" name="url1" size="100" />
</p>
</div>
</fieldset>
<p>
<input type="button" id="addURL" value="Add Another URL">
</p>
<input type="submit" value="Save">
</form>
</body>
</html>