HTML 具有最少字数条件的文本区域
HTML textarea with minimum words condition
我正在寻找一个文本区域代码,允许用户仅在他们在提供的文本区域中输入一定数量的单词(比如 300)时才提交表单。万一有人写了较少的字数并尝试提交表单,应该会显示一条警告消息。
我根据下面的建议尝试了此代码,但即使是三四个字,表单仍然在没有任何警告的情况下提交。请帮忙。
<html>
<form action="articlesuccess.php" method="POST">
<script type="text/javascript">
function checkWordCount(){
s = document.getElementById("article").value;
s = s.replace(/(^\s*)|(\s*$)/gi,"");
s = s.replace(/[ ]{2,}/gi," ");
s = s.replace(/\n /,"\n");
if (s.split(' ').length <= 300) {
alarm("not enough words...");
}
}
</script>
<p>
<label for="article">Write the article in the box below:</label> <br/>
<textarea name="article" id="article" style="width:700px; height:500px;"></textarea>
</p>
<input name="submit" id="submit" type="submit" onclick="checkWordCount()" value="Submit" /><input type="Reset" value="Reset">
</form>
</html>
我认为纯 html 代码无法达到您想要的目标。相反,您需要编写一些 javascript 代码。假设你的 textarea 有一个 id 属性,它被设置为 "inputString"。那么javascript代码的核心就是:
function checkWordCount(){
s = document.getElementById("inputString").value;
s = s.replace(/(^\s*)|(\s*$)/gi,"");
s = s.replace(/[ ]{2,}/gi," ");
s = s.replace(/\n /,"\n");
if (s.split(' ').length <= 300) {
alarm("not enough words...");
}
}
并且不要忘记使用此函数连接提交按钮的 OnClick 事件。如果我需要指定更多,请告诉我。
代码借鉴自http://www.mediacollege.com/internet/javascript/text/count-words.html
我稍微调整了代码,现在可以使用了。
这是基于调整后的代码的示例-
<html>
<head>
<script type="text/javascript">
function checkWordCount(){
s = document.getElementById("article").value;
s = s.replace(/(^\s*)|(\s*$)/gi,"");
s = s.replace(/[ ]{2,}/gi," ");
s = s.replace(/\n /,"\n");
if (s.split(' ').length <= 300) {
alert("not enough words...");
return false;
}
}
</script>
</head>
<body>
<form action="nextdestination.php" method="POST">
<p>
<label for="article">Write the article in the box below:</label> <br/>
<textarea name="article" id="article" style="width:500px; height:400px;"></textarea>
</p>
<input name="submit" id="submit" type="submit" onclick="return checkWordCount()" value="Submit" />
</form>
</body>
</html>
试试这个
<textarea id="txtId">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy.</textarea>
<span id="charsLeft"></span> characters left.
<button id="btnId" onclick="myFunction()">submit</button>
<script>
$('#txtId').limit('300','#charsLeft');
function myFunction(){
if($('#txtId').val().length< 300){
alert('not enough words... minimum limit 300');
}
else{
alert('submit successfully');
}
}
</script>
就我个人而言,我讨厌错误信息!我宁愿更喜欢用户友好的指导信息。试一试,如果您仍然希望收到错误消息,我将进行必要的更改
jQuery(document).ready(function($) {
$('#submit').attr('disabled', 'disabled');
$('#text').keyup(function() {
var currentWordCount = $("#text").val().match(/\S+/g).length;
if (currentWordCount > 10) {
$("#submit").removeAttr('disabled');
} else {
$('#submit').attr('disabled', 'disabled');
$('#wordcounter').html(10 - currentWordCount + ' more words to go!');
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form id="myform" action="" method="post">
<textarea name="text" id="text"></textarea><span id="wordcounter"></span>
<p>
<input name="submit" id="submit" type="submit" value="Submit" />
</p>
</form>
最大最小字数
受@Vadims 代码启发的快速示例:
HTML代码:
<label>Content <span id="alert-textarea">*</span></label>
<form>
<textarea id="textarea"> </textarea>
<button type="submit"> Submit</button>
</form>
JQuery代码:
jQuery(document).ready(function($) {
var minimumwords = 3;
var maximumwords = 7;
$('button[type=submit]').attr('disabled', 'disabled');
$('#textarea').keyup(function() {
var currentWordCount = $("#textarea").val().match(/\S+/g).length;
if (currentWordCount > minimumwords) {
$("button[type=submit]").removeAttr('disabled');
} else {
$('button[type=submit]').attr('disabled', 'disabled');
if(currentWordCount < minimumwords){
$('#alert-textarea').html( 'Add ' + (minimumwords - currentWordCount) + ' Minimum Words To Be Able To Submit Listing');
} else {
$('#alert-textarea').html('*');
}
}
if (currentWordCount < maximumwords) {
$("button[type=submit]").removeAttr('disabled');
} else {
$('button[type=submit]').attr('disabled', 'disabled');
if(currentWordCount > maximumwords){
$('#alert-textarea').html( 'Remove' + (maximumwords - currentWordCount) + ' Words To Be Able To Submit Listing');
} else {
$('#alert-textarea').html('*');
}
}
});
});
我正在寻找一个文本区域代码,允许用户仅在他们在提供的文本区域中输入一定数量的单词(比如 300)时才提交表单。万一有人写了较少的字数并尝试提交表单,应该会显示一条警告消息。
我根据下面的建议尝试了此代码,但即使是三四个字,表单仍然在没有任何警告的情况下提交。请帮忙。
<html>
<form action="articlesuccess.php" method="POST">
<script type="text/javascript">
function checkWordCount(){
s = document.getElementById("article").value;
s = s.replace(/(^\s*)|(\s*$)/gi,"");
s = s.replace(/[ ]{2,}/gi," ");
s = s.replace(/\n /,"\n");
if (s.split(' ').length <= 300) {
alarm("not enough words...");
}
}
</script>
<p>
<label for="article">Write the article in the box below:</label> <br/>
<textarea name="article" id="article" style="width:700px; height:500px;"></textarea>
</p>
<input name="submit" id="submit" type="submit" onclick="checkWordCount()" value="Submit" /><input type="Reset" value="Reset">
</form>
</html>
我认为纯 html 代码无法达到您想要的目标。相反,您需要编写一些 javascript 代码。假设你的 textarea 有一个 id 属性,它被设置为 "inputString"。那么javascript代码的核心就是:
function checkWordCount(){
s = document.getElementById("inputString").value;
s = s.replace(/(^\s*)|(\s*$)/gi,"");
s = s.replace(/[ ]{2,}/gi," ");
s = s.replace(/\n /,"\n");
if (s.split(' ').length <= 300) {
alarm("not enough words...");
}
}
并且不要忘记使用此函数连接提交按钮的 OnClick 事件。如果我需要指定更多,请告诉我。
代码借鉴自http://www.mediacollege.com/internet/javascript/text/count-words.html
我稍微调整了代码,现在可以使用了。 这是基于调整后的代码的示例-
<html>
<head>
<script type="text/javascript">
function checkWordCount(){
s = document.getElementById("article").value;
s = s.replace(/(^\s*)|(\s*$)/gi,"");
s = s.replace(/[ ]{2,}/gi," ");
s = s.replace(/\n /,"\n");
if (s.split(' ').length <= 300) {
alert("not enough words...");
return false;
}
}
</script>
</head>
<body>
<form action="nextdestination.php" method="POST">
<p>
<label for="article">Write the article in the box below:</label> <br/>
<textarea name="article" id="article" style="width:500px; height:400px;"></textarea>
</p>
<input name="submit" id="submit" type="submit" onclick="return checkWordCount()" value="Submit" />
</form>
</body>
</html>
试试这个
<textarea id="txtId">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy.</textarea>
<span id="charsLeft"></span> characters left.
<button id="btnId" onclick="myFunction()">submit</button>
<script>
$('#txtId').limit('300','#charsLeft');
function myFunction(){
if($('#txtId').val().length< 300){
alert('not enough words... minimum limit 300');
}
else{
alert('submit successfully');
}
}
</script>
就我个人而言,我讨厌错误信息!我宁愿更喜欢用户友好的指导信息。试一试,如果您仍然希望收到错误消息,我将进行必要的更改
jQuery(document).ready(function($) {
$('#submit').attr('disabled', 'disabled');
$('#text').keyup(function() {
var currentWordCount = $("#text").val().match(/\S+/g).length;
if (currentWordCount > 10) {
$("#submit").removeAttr('disabled');
} else {
$('#submit').attr('disabled', 'disabled');
$('#wordcounter').html(10 - currentWordCount + ' more words to go!');
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form id="myform" action="" method="post">
<textarea name="text" id="text"></textarea><span id="wordcounter"></span>
<p>
<input name="submit" id="submit" type="submit" value="Submit" />
</p>
</form>
最大最小字数
受@Vadims 代码启发的快速示例:
HTML代码:
<label>Content <span id="alert-textarea">*</span></label>
<form>
<textarea id="textarea"> </textarea>
<button type="submit"> Submit</button>
</form>
JQuery代码:
jQuery(document).ready(function($) {
var minimumwords = 3;
var maximumwords = 7;
$('button[type=submit]').attr('disabled', 'disabled');
$('#textarea').keyup(function() {
var currentWordCount = $("#textarea").val().match(/\S+/g).length;
if (currentWordCount > minimumwords) {
$("button[type=submit]").removeAttr('disabled');
} else {
$('button[type=submit]').attr('disabled', 'disabled');
if(currentWordCount < minimumwords){
$('#alert-textarea').html( 'Add ' + (minimumwords - currentWordCount) + ' Minimum Words To Be Able To Submit Listing');
} else {
$('#alert-textarea').html('*');
}
}
if (currentWordCount < maximumwords) {
$("button[type=submit]").removeAttr('disabled');
} else {
$('button[type=submit]').attr('disabled', 'disabled');
if(currentWordCount > maximumwords){
$('#alert-textarea').html( 'Remove' + (maximumwords - currentWordCount) + ' Words To Be Able To Submit Listing');
} else {
$('#alert-textarea').html('*');
}
}
});
});