如果文本框为空则不起作用

时间:2016-04-30 14:18:15

标签: javascript

不知道我做错了什么,但即使目的地是空的,它应该带来警报,如果提交不应该。

但似乎无法找出问题所在

<html lang="en">
<head>
<script type="text/javascript">
    function CheckFormPrac(form){

        var pcheck = document.getElementById("phone").value;
        pattern = /^^02\d{8}$/;

        if (!pattern.test(pcheck))  {
            alert("Please input your number in format of 02########.");
            return false;
        } else {
            return true;
        }

        var cdest = document.getElementById("dest").value;
        if (cdest == ""){
            alert("Destination has not been filled.");
            return false;
        } else {
            return true;
        }

    }
</script>
</head>
<body>
<form id="ffform" method="get" action=""
Onsubmit="return CheckFormPrac(this);" >
<fieldset>
         Home Phone:
    <input type="text" name="phone" id="phone" size=15 onblur="CheckFormPrac(this);" /> <br/>

    What is your favorite destination to fly to?
    <input type="text" name="dest" id="dest" size=30 onblur="CheckFormPrac(this);"/> <br/>
    <input type="submit" value="Submit" />
    <input type="reset" value="Reset"/>
</form>

2 个答案:

答案 0 :(得分:0)

问题是从未到达检查#dest值的代码。

if(!pattern.test(pcheck)) {
    alert("Please input your number in format of 02########.");
    return false;
} else {
    return true;
}

将始终从函数返回控件,并且不会执行以下代码。从中移除else块,代码将检查#dest值。

请注意,事件处理程序不需要return true;,因为它是表单的默认操作。

以下是包含一些更改的完整代码:

function CheckFormPrac() {
    var pcheck = document.getElementById("phone").value;
    if(!/^02\d{8}$/.test(pcheck)) {
        alert("Please input your number in format of 02########.");
        return false;
    }

    if(document.getElementById("dest").value.trim() === "") {
        alert("Destination has not been filled.");
        return false;
    }
}

答案 1 :(得分:0)

您的表单中存在一些错误,以及您如何调用onsubmit。此外,您可以在没有javascript的情况下执行此操作(减去警报)

https://jsfiddle.net/stevenkaspar/uoLrsz78/

<form method="get" action="/">
  Home Phone:
  <input type="text" name="phone" pattern='(02)[0-9]{8}' required/> <br/>

  What is your favorite destination to fly to?
  <input type="text" name="dest" required/> <br/>
  <input type="submit" value="Submit" />
  <input type="reset" value="Reset"/>
</form>