使用 jQuery 进行文本区域验证
Textarea validation with jQuery
我希望在表单的文本区域中只输入字母
它适用于输入字段,无法验证文本区域是否可以使用 jquery 验证?或者什么是另一种选择
2) 这会阻止恶意代码输入(例如xss.js)
<form action="" method="POST" enctype="multipart/form-data" name="messageForm">
<p>name of sender:
<input class="input" name="sender" id="sender" value="" size="13"
maxlength="13" dir="ltr" autocomplete="on" type="text" height="20" minlength="3" required><br>
<p>name of receiver:
<input class="input" name="receiver" id="receiver" value="" size="13"
maxlength="13" dir="ltr" autocomplete="on" type="text" height="20" minlength="3" required><br>
<p>Message: <br>
<textarea name="message" id="message" type="text" value="" rows="5" cols="30" dir="ltr" required></textarea><br>
<input value="Submit" name="button" alt="submit" onsubmit="" border="0" type="submit" align="absmiddle"></p>
</form>
<script>
$("#messageForm").validate();
</script>
javascript
$().ready(function () {
$("#submit").validate({
rules: {
sender: {
required: true,
minlength: 3,
lettersonly: true
},
receiver: {
required: true,
minlength: 3,
lettersonly: true
},
message: {
required: true,
minlength: 5,
maxlength: 30,
lettersonly: true
},
},
messages: {
sender: {required:"Please enter your name"},
receiver:{required: "Please enter receiver name up to 3 characters"},
message: {required: "Enter your message 3-20 characters"},
},
});
});
当它在 chrome 上运行时,最后一部分出现错误:意外标识符
您正在呼叫 .validate()
两次...
这里...
<script>
$("#messageForm").validate();
</script>
这里...
$().ready(function () {
$("#submit").validate({...
.validate()
方法仅用于在您的form
上初始化插件,不能调用两次。始终忽略所有后续调用。
但是,在您的情况下,它会被忽略,因为您已将 .validate()
的第二个实例附加到 $("#submit")
,其中您的表单 id
不是 submit
并且你的 form
甚至没有 id
。您只能将 .validate()
方法附加到您想要验证的 form
,即 name="messageForm"
.
你只需要这个...
$(document).ready(function () {
$("[name='messageForm']").validate({
rules: {
sender: {
required: true,
minlength: 3,
lettersonly: true
...
如评论中所述,不再推荐 $().ready(function () {...
。请改用 $(document).ready(function () {...
。
我希望在表单的文本区域中只输入字母 它适用于输入字段,无法验证文本区域是否可以使用 jquery 验证?或者什么是另一种选择 2) 这会阻止恶意代码输入(例如xss.js)
<form action="" method="POST" enctype="multipart/form-data" name="messageForm">
<p>name of sender:
<input class="input" name="sender" id="sender" value="" size="13"
maxlength="13" dir="ltr" autocomplete="on" type="text" height="20" minlength="3" required><br>
<p>name of receiver:
<input class="input" name="receiver" id="receiver" value="" size="13"
maxlength="13" dir="ltr" autocomplete="on" type="text" height="20" minlength="3" required><br>
<p>Message: <br>
<textarea name="message" id="message" type="text" value="" rows="5" cols="30" dir="ltr" required></textarea><br>
<input value="Submit" name="button" alt="submit" onsubmit="" border="0" type="submit" align="absmiddle"></p>
</form>
<script>
$("#messageForm").validate();
</script>
javascript
$().ready(function () {
$("#submit").validate({
rules: {
sender: {
required: true,
minlength: 3,
lettersonly: true
},
receiver: {
required: true,
minlength: 3,
lettersonly: true
},
message: {
required: true,
minlength: 5,
maxlength: 30,
lettersonly: true
},
},
messages: {
sender: {required:"Please enter your name"},
receiver:{required: "Please enter receiver name up to 3 characters"},
message: {required: "Enter your message 3-20 characters"},
},
});
});
当它在 chrome 上运行时,最后一部分出现错误:意外标识符
您正在呼叫 .validate()
两次...
这里...
<script>
$("#messageForm").validate();
</script>
这里...
$().ready(function () {
$("#submit").validate({...
.validate()
方法仅用于在您的form
上初始化插件,不能调用两次。始终忽略所有后续调用。
但是,在您的情况下,它会被忽略,因为您已将 .validate()
的第二个实例附加到 $("#submit")
,其中您的表单 id
不是 submit
并且你的 form
甚至没有 id
。您只能将 .validate()
方法附加到您想要验证的 form
,即 name="messageForm"
.
你只需要这个...
$(document).ready(function () {
$("[name='messageForm']").validate({
rules: {
sender: {
required: true,
minlength: 3,
lettersonly: true
...
如评论中所述,不再推荐 $().ready(function () {...
。请改用 $(document).ready(function () {...
。