我试图在使用jQuery和javascript单击按钮后验证表单的输入值。
现在,如果我输入一个输入值并单击提交输入字段,按钮就会消失。知道我错在哪里吗?
HTML文件......
<!DOCTYPE html>
<html>
<head>
<title></title>
<link/>
<script type='text/javascript' src='script.js'></script>
</head>
<body>
<form>
<input type="text" id='input_1'>
<input type="submit" value="Send" id="send">
</form>
</body>
</html>
脚本文件......
$(document).ready(function() {
$('.send').click(function() {
validateInput(document.getElementById('#input_1'));
function validateInput(inputValue){
if (inputValue === 3) {
alert("Element cannot be equal to 3");
}
}
});
});
答案 0 :(得分:1)
$(document).ready(function() {
$('#send').live('click',function() { //Because send is the id of your button
if(validateInput(document.getElementById('#input_1'))){
alert("Element cannot be equal to 3");
return false;
}
else{
//Do something else
}
function validateInput(inputValue){
if (inputValue == 3) {
return false;//Will prevent further actions
}
}
});
});
答案 1 :(得分:0)
$('.send').click(function() {
应该是$("#send").click(function() {
。
注意哈希符号而不是点(。),如果选择器是类,则使用点,而如果选择器是ID则使用#。 2.您应该将验证功能移到$(document).ready(function()
之外..希望有帮助
答案 2 :(得分:0)
谢谢大家的回复。不幸的是,我无法使用您的建议让它工作。我决定使用jQuery来获取元素并将消息附加到div而不是使用alert。这是一种不同的方法,但最终工作。
HTML ...
<!DOCTYPE html>
<html>
<head>
<title></title>
<link/>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<form>
<input type="text" name="input"/>
</form>
<button id="send">Send</button>
<div class="error">
</div>
</body>
</html>
... SCRIPT
$(document).ready(function() {
$('#send').click(function(){
var toValidate = $('input[name=input]').val();
if (toValidate == 3) {
jQuery('.message').html('');
$('.error').append('<div class="message">' + toValidate + " is invalid" + '</div>');
}
else {
jQuery('.message').html('');
$('.error').append('<div class="message">' + toValidate + " is valid" + '</div>');
}
});
});