2017-10-07 61 views
-1

我尝试验证用户输入并检查值的长度,如果它小于x那么它应该alert("..")。我将这段代码与我在这里和那里发现的一些代码一起捕获,并且我尝试了很多东西,但都没有成功。它总是提交。 如果我写Javascript输入长度验证onsubmit,无论如何提交

<form ... onsubmit="false">..</form> 

其提交无论如何,但它不应该或不?

这是我的代码片段,我希望任何人都可以帮助我。

<form name="form" action="go.php" id="form" onsubmit="return validate('text',5)"> 
    Text: <input type="text" name="text" id="text" /> 
    <input type="submit" name="submit" value="submit" /> 
</form> 

<script> 
    function validate(input,length) { 
     submit = true; 
     var elemlength = document.getElementbyId(input).value.length; 
     alert(":" + elemlength); 
     if(elemlength < length){ 
      submit=false; 
      alert("ivalid length"); 
     } 
     return submit; 
    } 
</script> 
+0

? Jquery,角?..?我认为如果你只使用原生的JavaScript ..这可能是一些辛苦的工作。 – ray

+0

不,我不使用任何图书馆,我应该更好吗?我只是想简单一点,因为我对js不太了解。 – Bobo2040

+0

如果你不懂JavaScript,试图学习一个库不会有太大帮助。 [w3schools](https://www.w3schools.com/js/default.asp)和[MDN](https://developer.mozilla.org/en-US/docs/Web/javascript)可以帮助你学习。 –

回答

-1

"use strict"; 
 

 
let button = document.querySelector('#button'); 
 
let input = document.querySelector('#text'); 
 
let minLength = 5; 
 

 
button.addEventListener('click', validate); 
 

 
function validate(event) { 
 
    if (input.value.length < minLength) { 
 
     event.preventDefault(); 
 
     alert('Input text is smaller then ' + minLength); 
 
    } 
 
}
<form name="form" action="go.php" id="form"> 
 
    Text: <input type="text" name="text" id="text" /> 
 
    <input type="submit" name="submit" value="submit" id ="button"/> 
 
</form>

+0

谢谢你,为你所做的工作!但是,90%的代码我不明白。在我的守则中,只有一封小小的信,而不是大。 – Bobo2040

0

我觉得你只是有一个错字就document.getElementByIddocument.getElementbyId

<form name="form" id="form" onsubmit="return validate('text',5)"> 
 
    Text: <input type="text" name="text" id="text" /> 
 
    <input type="submit" name="submit" value="submit" /> 
 
</form> 
 

 
<script> 
 
    function validate(input,length) { 
 
     submit = true; 
 
     var elemlength = document.getElementById(input).value.length; 
 
     alert(":" + elemlength); 
 
     if(elemlength < length){ 
 
      submit=false; 
 
      alert("ivalid length"); 
 
     } 
 
     
 
     return submit; 
 
    } 
 
</script>

如果你想阻止表单提交你的代码应该是你使用任何图书馆这样下去<form ... onsubmit="return false">..</form>