[英]alert box not coming up - what is incorrect in this function?
<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 />
輸入電話號碼后按Tab鍵時,它不會顯示來自check_phone()函數的警報框。 它甚至進入功能並進行檢查嗎? 它甚至沒有按照函數中提到的CSS設置文本框的樣式。 我怎么知道? 請幫忙
所有的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 />
給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');
}
您缺少每種情況的右括號(
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 />
您忘記了很多右括號和括號。 這是 jsfiddle上的一個working
示例 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.