2015-07-20 155 views
-2

我想知道爲什麼這段代碼接受負數並且它有多正確。爲什麼這個IF允許負數?

echo '<script type="text/javascript"> 
    if (' . $_POST["product_qty"] .' < 1) { 
     alert("Atleast 1"); 
    } else if (isNaN(x)) { 
     alert("Must input numbers"); 
     return true; 
    } 
</script>'; 

謝謝

+2

負數小於'1',所以'-3 <1'是真的? – adeneo

+1

<小於符號,所以「Atleast 1」顯示負值,零等值。使用>表示大於。編輯 - 在*測試之前測試NaN *會更好,因爲任何字符串都會被捕獲,並且您不會意外地將$ _POST中的字符串與數字進行比較。 – Mousey

+0

當代碼沒有功能時,爲什麼你會返回true? – Barmar

回答

0

它接受一個字符串。將if切換到此。

if(is_numeric($_POST['product_qty"']) && (int) $_POST['product_qty"'] < 1) 
+0

他在Javascript中執行'if',而不是PHP。 – Barmar

+0

@Barmar不是'echo'的PHP函數嗎? – cbender

+0

但他迴應了執行'if'的Javascript腳本。 – Barmar