2016-03-15 81 views
0

我是Javascript的初學者,並且遇到了以下問題,該問題尚未按預期工作,我想問社區尋求幫助。基本上,我有一個(不確定的,建立運行,這裏爲簡單起見只有2)輸入字段的數量,我想驗證輸入的值是否在0和10之間。JavaScript定義的「按鈕內」驗證多個輸入字段

我只能使用純JavaScript以及JavaScript函數的「按鈕」定義。 Thx的任何意見!

<p> Please enter a value 0 and 10. </p> 

    <input class="offers" type="number" step="0.01" id='1'> 

<p> Please enter another value between 0 and 10. </p> 

    <input class="offers" type="number" step="0.01" id='2'> 



<input type="submit" name="OutterButton" id="absenden" style="display: none"> 

     <input type="button" value="Absenden" onclick="function testOffer() { 

      var offers = document.getElementsByClassName('offers'); 

      for (var i = 0; i < offers.length; i++){ 
       var offer = document.getElementById(offers[i]).value; 

       if (offer>=10 != offer<=0) 
        { alert('Wrong Number'); } 
       else if (isNaN(offer)) 
        { alert('Please enter a number).'); } 
      } 
      } 
      else{var subButton = document.getElementsByName('OutterButton')[0]; 
       subButton.style.display='inline'; subButton.click(); 
       subButton.style.display='none'}}; testOffer();">   

回答

1

爲什麼不使用<script>標籤?

<script> 
function testOffer() { 
     var offers = document.getElementsByClassName('offers'); 
     for (var i = 0; i < offers.length; i++){ 
      var offer = document.getElementById(offers[i]).value; 
      if (offer>=10 != offer<=0) 
       { alert('Wrong Number'); } 
      else if (isNaN(offer)) 
       { alert('Please enter a number).'); } 
     } 
} ... 
</script> 
<input type="button" value="Absenden" onclick="testOffer()" /> 

是的,有在你的JavaScript的一個問題。因爲它被嵌入,所以很難調試。但這裏的問題:

function testOffer() { 
    var offers = document.getElementsByClassName('offers'); 

    for (var i = 0; i < offers.length; i++){ 
     var offer = document.getElementById(offers[i]).value; 

     if (offer>=10 != offer<=0) 
     { alert('Wrong Number'); } 
     else if (isNaN(offer)) 
     { alert('Please enter a number).'); } 
    } 
} 
else{var subButton = document.getElementsByName('OutterButton')[0]; 
    subButton.style.display='inline'; subButton.click(); 
    subButton.style.display='none'}}; testOffer(); 

正如你所看到的,else聲明來自無處。該功能定義在else之前完成。

+0

thx,不幸的是我不能,因爲我使用的框架(網絡服務器)出於某種原因不支持它。所以它不是最佳的,但我的方式是一種解決方法。 – Tim

+0

任何想法我的功能有什麼問題? – Tim

+0

我編輯了我的答案,以向您展示問題。希望能幫助到你。 – Tolokoban

相關問題