这个问题似乎与某人重复,但事实并非如此。剧本工作得很好,直到今天早上,但它现在有点奇怪。我已经尝试了许多建议的方法来更改代码,比如删除else部分并使用if!=“true”检查条件,但没有运气。
jquery的
$("#controlButton").click(function () {
var SHPname = $("#fname").val();
var textfieldmask = /^[a-z\.\s-]{2,}$/;
/// check full name
if (SHPname.length > 0) {
var testname = textfieldmask.test(SHPname);
alert(testname);
if (testname == "true") {
var tstnm = "ok";
alert(tstnm);
} else {
alert("Enter the full name!");
$('#fname').focus();
return false;
}
} else {
alert("Please enter the name");
$('#fname').focus();
return true;
}
});
HTML
<label class="required" for="name" title="Enter your name">
<input type="text" id="fname" name="fname" />Reciver's name</label>
<label for="formsubmit" class="nocontent">
<a id="controlButton" href="#" class="progress-button">
<p id="BTNtxt">Save</p>
<img id="loadergif" src="../images/loader-cat.gif" width="30" height="14" alt=""/>
</a>
<strong>Note:</strong>
Items marked
<img src="images/required.gif" alt="Required marker" width="12" height="12" />
are required fields
</label>
奇怪的部分是,我有第一个警告“真”但代码运行!=“true”和警报输入全名!
为什么会这样?请帮帮我。
答案 0 :(得分:0)
在这里,使用您正在执行的testname RegExp.prototype.test()
test()方法执行搜索正则表达式和指定字符串之间的匹配。返回true或false。
在您的代码段中,您正在比较true === "true"
。这总是失败。所以你应该使用if (testname === true )
或if (testname)
(作为它的布尔值)
答案 1 :(得分:0)
试试这个。在jsFiddle工作。保留testname == true
但不包含""
$("#controlButton").click(function () {
var SHPname = $("#fname").val();
var textfieldmask = /^[a-z\.\s-]{2,}$/;
/// check full name
if (SHPname.length > 0) {
var testname = textfieldmask.test(SHPname);
alert(testname);
if (testname == true) {
var tstnm = "ok";
alert(tstnm);
} else {
alert("Enter the full name!");
$('#fname').focus();
// return false; Do you get this return anywhere somehow? if not you don't need it
}
} else {
alert("Please enter the name");
$('#fname').focus();
//return true; Same here
}
});
答案 2 :(得分:0)
此处正在运作jsfiddle
HTML:
<label class="required" for="name" title="Enter your name">
<input type="text" id="fname" name="fname" />Reciver's name</label>
<label for="formsubmit" class="nocontent">
<a id="controlButton" href="#" class="progress-button">
<p id="BTNtxt">Save</p>
<img id="loadergif" src="../images/loader-cat.gif" width="30" height="14" alt=""/>
</a>
<strong>Note:</strong>
Items marked
<img src="images/required.gif" alt="Required marker" width="12" height="12" />
are required fields
</label>
JAVASCRIPT:
$("#controlButton").click(function() {
var SHPname = $("#fname").val();
var textfieldmask = /^[a-z\.\s-]{2,}$/;
/// check full name
if (SHPname.length > 0){
var testname = textfieldmask.test(SHPname);
alert (testname);
if (testname == true ){
var tstnm = "ok";
alert (tstnm);
} else {
alert ("Enter the full name!");
$('#fname').focus();
return false;
}
} else {
alert ("Please enter the name");
$('#fname').focus();
return true;
}
});
<强>更新:强> 这是您的小提琴更新,以验证两个文本框jsfiddle