<script type="text/javascript">
function check_phone(){
var x=$('#phone1').val();
var landline = /^([0-9]{4}[\-]{1}[0-9]{7})$/;
var mobile = /^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/;
if (landline.test(x))
alert('first condition');
$('#phone1').css('border','2px solid #00a500');
else if(mobile.test(x))
alert('second condition');
$('#phone1').css('border','2px solid #00a500');
else
$('#phone1').css('border','2px solid #a50000');
alert('third condition');
}
</script>
<input type="text" value="" name="phone1" id="phone1" onchange="check_phone()" required />当我输入电话号码后按选项卡时,它不会显示来自check_phone()函数的警告框。它是否已经进入这个函数并检查它了?它甚至没有按照函数中提到的css来设置文本框的样式。我怎么知道呢?请帮帮忙
发布于 2014-09-09 09:52:03
所有if块都没有结束括号),并将它们放在花括号中。
if (landline.test(x))
{
alert('first condition');
$('#phone1').css('border','2px solid #00a500');
}
else if(mobile.test(x))
{
alert('second condition');
$('#phone1').css('border','2px solid #00a500');
}
else
{
$('#phone1').css('border','2px solid #a50000');
alert('third condition');
}也变了
<input type="text" value="" name="phone1" id="phone1" onchange="check_phone()" required />发布于 2014-09-09 09:53:03
给id..。你刚刚给取名为。
<input type="text" value="" name="phone1" id="phone1" onchange="check_phone()" required />还为if()添加大括号
if (landline.test(x) {
alert('first condition');
$('#phone1').css('border','2px solid #00a500');
}
else if(mobile.test(x) {
alert('second condition');
$('#phone1').css('border','2px solid #00a500');
}
else{
$('#phone1').css('border','2px solid #a50000');
alert('third condition');
}发布于 2014-09-09 09:53:09
您缺少了每个条件(的结束括号if (landline.test(x),如果没有{},它将只执行警告行,而不是css样式不会是该条件的一部分,因此您应该使用:
if (landline.test(x)) {
alert('first condition');
$('#phone1').css('border','2px solid #00a500');
}在任何情况下。
此外,还更改了下面的行,正如@arunrc所指出的,您需要赋予id属性来从这样的代码中访问它。
<input type="text" value="" name="phone1" id="phone1" onchange="check_phone()" required />https://stackoverflow.com/questions/25741545
复制相似问题