2016-03-15 47 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

相关问题