0

2 つの関数と if ステートメントに問題があります。私は機能goを教えられており、postcodeChange定義されていません。

flagまた、 は予期しない識別子であると言われていif flag == 1ます。

私が間違っているところはありますか?ありがとうございました。

function postcodeChange(){
document.getElementById("goButton").onclick = distanceCheck;
}

function distanceCheck(){
var distance = document.getElementById("distance").value
var patt1=new RegExp("^[0-9]+(\.[0-9]{1})?$");
var out = patt1.exec(distance);

if (out == null) {
    //distance is not a valid number
    document.getElementById("distanceFlag").value = 1
} 
else {
    //distance is valid number
    document.getElementById("distanceFlag").value = 0
}

function go(){
var flag = document.getElementById("distanceFlag").value
if flag == 1
{
    alert("Distance is not valid- enter a number with no more than one decimal point");
}
else{
    popSubmit('#fa Care Provider Search Go','','0');
}
}
4

4 に答える 4

2

定義されていない関数は、構文エラーの直接的な結果です。構文エラーがあると、関数を理解できないため、定義されていません。

ifしたがって、その構文エラーに関しては、条件を囲む括弧が必須であると確信しています。

if( flag == 1)

編集: また、Wouter が指摘するように、関数定義}を終了するa を逃しました。distanceCheckもう 1 つは、回線を で終了する;か、不快なサプライズに備えてください。そうしないと、JavaScript があなたを台無しにします!

于 2013-06-25T10:16:57.180 に答える
0

距離チェック機能を閉じるのを忘れました。

function postcodeChange(){
document.getElementById("goButton").onclick = distanceCheck;
}

function distanceCheck(){
var distance = document.getElementById("distance").value
var patt1=new RegExp("^[0-9]+(\.[0-9]{1})?$");
var out = patt1.exec(distance);

if (out == null) {
    //distance is not a valid number
    document.getElementById("distanceFlag").value = 1
} 
else {
    //distance is valid number
    document.getElementById("distanceFlag").value = 0
}
}

function go(){
var flag = document.getElementById("distanceFlag").value
if flag == 1
{
    alert("Distance is not valid- enter a number with no more than one decimal point");
}
else{
    popSubmit('#fa Care Provider Search Go','','0');
}
}
于 2013-06-25T10:16:44.910 に答える