所以我有这个代码接受2个字段“userNAme”和“yourMessage”。只有两个字段都填满后,“发送”按钮才会激活。
$("input[type='text'],textarea").keyup(function() {
var text = ($(this).val()).toString();
text = text.replace(/\s+/g, " ").trim();
var message = ($("textarea").val()).toString();
message = message.replace(/\s+/g, " ").trim();
if (text != "" && message != "") {
$('input[type="button"]').removeAttr('disabled');
} else {
$("#send").attr('disabled', 'disabled');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1>Hello!</h1>
<form action="" method="post" id="subscribe" name="subscribe">
First name: <input type="text" name="fname" id="fname" placeholder="Name" autofocus><br>
<div id="message"></div>
Your Message:<br>
<textarea typeof="text" id="yourMessage" placeholder="Start Typing..."></textarea><br />
<input type="button" class="button button-blue" value="Send" name="button" disabled="disabled" id="send" />
</form>
<input type="button" class="button button-blue" value="Click Me!" id="click-me" />
<div id="message"></div>
但现在我想在按下“Enter”键的同时添加输入值的功能。我希望它像“发送”按钮一样工作,即仅在所有字段都填满时才起作用。如何解决这个问题?
答案 0 :(得分:1)
如果您在单击“提交”或按Enter键时将required
标记添加到input
标记中,则必须已完成所有字段才能提交。
例如:
<input type="text" name="fname" id="fname" placeholder="Name" required autofocus>
答案 1 :(得分:0)
如果您要使用类型为button
的{{1}},只要该按钮被禁用,就不会按Enter键提交表单,如下所示
submit
$("input[type='text'],textarea").keyup(function() {
var text = ($(this).val()).toString();
text = text.replace(/\s+/g, " ").trim();
var message = ($("textarea").val()).toString();
message = message.replace(/\s+/g, " ").trim();
if (text != "" && message != "") {
$('button[type="submit"]').removeAttr('disabled');
} else {
$("#send").attr('disabled', 'disabled');
}
});