我尝试验证用户输入并检查值的长度,如果它小于x,那么它应该alert("..")
。我把这些代码和我在这里和那里找到的一些代码一起抓住了,我尝试了很多东西,但没有任何效果。它总是提交。
如果我写
<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 :(得分:0)
我认为你只是输入错误document.getElementById
而不是document.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>
&#13;
如果您想阻止表单提交,您的代码应该像<form ... onsubmit="return false">..</form>
答案 1 :(得分:-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>