2017-06-08 34 views
0

我已經查看了一些答案,但由於某些原因,我無法使其工作。我希望用戶對某些東西進行評分,如果他們在所需字段中沒有輸入任何內容,並按下「等級」,我想讓它提醒一些事情。確定用戶輸入字段是否爲空

function Script() { 
 
    var G = document.getElementById("gradevalue").value 
 
    if (G == null || G == undefined) { 
 
    window.alert("Please input a grade"); 
 
    } 
 
}
<label id="grade">|Please grade on a scale from 1 to 10 (10 is the best!)   
 
    <input id="gradevalue" type="text"; size="2"; maxlength="2"> 
 
    </label> 
 
<input type="button" value="GRADE!" id="nota" onclick="Script()">

我非常新的這個,所以請不要太苛刻。

+0

您沒有檢查空字符串? 'G ==「」' –

+0

只需檢查一個類似虛假的值怎麼樣? 'if(!! G)' – pkanev

+0

不相關但刪除HTML屬性之間的分號。 –

回答

2

我想,你可以簡單地檢查一下,如:

if (!Number(G)) { 
    window.alert("Please input a grade"); 
} 

這將是true如果Gnullundefined''0falseNaN,並且不被轉換爲數字的任意字符串。

function CheckGrade() { 
 
    var G = document.getElementById("gradevalue").value; 
 
    if(!Number(G)) { 
 
    window.alert("Please input a grade"); 
 
    } else { 
 
    //your code here, maybe some othe validation logic 
 
    } 
 
}
<label id="grade">|Please grade on a scale from 1 to 10 (10 is the best!)   
 
<input id="gradevalue" type="number" min="1" max="10"/> 
 
</label> 
 
<input type="button" value="GRADE!" id="nota" onclick="CheckGrade()">

UPDATE加入了代碼示例和小錯誤。

+0

是的,試過了,但按下「等級」按鈕時沒有任何反應。我知道,它應該工作,這讓我瘋狂! –

+0

是的!它現在有效!我不知道「!」之前的變量。非常感謝! –

1

檢查!G || G == 0似乎做的工作:

function Script() { 
 
    var G = document.getElementById("gradevalue").value 
 
    if(!G || G == 0) { 
 
     window.alert("Please input a grade"); 
 
    } 
 
}
<label id="grade">|Please grade on a scale from 1 to 10 (10 is the best!)   
 
    <input id="gradevalue" type="text"; size="2"; maxlength="2"> 
 
</label> 
 
<input type="button" value="GRADE!" id="nota" onclick="Script()">

注意,你可能還需要檢查> 11個值:

if (!G) { 
    window.alert("Please input a grade"); 
} else if(G == 0 || G > 10) { 
    window.alert("Please input a grade between 1 and 10");  
} 
+0

謝謝,你們真棒!我很好地根據你的建議調整了代碼,它是完美的:) –

+1

@CristinaNeculai很高興我幫了忙。你能接受/贊成有用的答案嗎? – Mistalis

0

你也必須有,在JavaScript中你可以檢查變量是否有賦值給它,如果不是,那麼bool表達式將是錯誤的。我做了一個快速CodePen與工作代碼https://codepen.io/robdavis/pen/bRVxdm

function Script() { 
    var g = document.getElementById("gradevalue").value 

    if (!g) { 
    window.alert("Please enter a Grade"); 
    } 
}