Jquery 用一个文本区域填充4个输入
我有一个问题要问社区 我的问题是,我有4个输入文件,最大长度为60个字符,总共240个字符 因为客户系统的“后端”,需要插入最多4个不同的输入,他们说填写4个字段不方便用户Jquery 用一个文本区域填充4个输入,jquery,Jquery,我有一个问题要问社区 我的问题是,我有4个输入文件,最大长度为60个字符,总共240个字符 因为客户系统的“后端”,需要插入最多4个不同的输入,他们说填写4个字段不方便用户 [input text #1] max60 [input text #2] max60 [input text #3] max60 [input text #4] max60 [textarea max 240] 我的解决方案 我想做一个文本区,当你填写它时,我会填写4个字段 [input text #1] max60
[input text #1] max60
[input text #2] max60
[input text #3] max60
[input text #4] max60
[textarea max 240]
我的解决方案
我想做一个文本区,当你填写它时,我会填写4个字段
[input text #1] max60
[input text #2] max60
[input text #3] max60
[input text #4] max60
[textarea max 240]
我试图做的是在输入时通过javascript/jQuery填充四个字段
现在,这是我的代码
$(document).ready(function()
{
// My text area
$("#inf_notes").bind('keydown', function () {
var maxLength = 240;
if ($(this).val().length <= 60) {
// The first 60 caracters
$('#inf_notes_1').val($(this).val());
}
if ($(this).val().length > 60 && $(this).val().length <= 120) {
// If more then 60, fill the second field
$('#inf_notes_2').val($(this).val());
}
// If 121 - 180 ...
// If 181 - 240 ...
if($(this).val().length == 240) {
$(this).val($(this).val().substring(0, maxLength));
$('.alert_textarea').show(); // Simple alert
else
{
$('.alert_textarea').hide();
}
});
});
试着这样做: HTML:
请注意,
keydown
不会影响最后键入的字符,这就是为什么我使用keypress
尝试以下方法:
HTML:
注意,
keydown
不会影响最后键入的字符,这就是为什么我使用keypress
闪电的解决方案非常漂亮
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function()
{
// My text area
$("#inf_notes").bind('keyup', function () {
var maxLength = 240;
var strInput = $(this).val();
var lng = strInput.length;
if (lng <= 60) {
// The first 60 caracters
$('#inf_notes_1').val(strInput);
$('#inf_notes_2').val("");
$('#inf_notes_3').val("");
$('#inf_notes_4').val("");
}
else if (lng > 60 && lng <= 120) {
// If more then 60, fill the second field
$('#inf_notes_1').val(strInput.substring(0, 60));
$('#inf_notes_2').val(strInput.substring(60, lng));
$('#inf_notes_3').val("");
$('#inf_notes_4').val("");
}
else if (lng > 120 && lng <= 180) {
// If more then 120, fill the third field
$('#inf_notes_1').val(strInput.substring(0, 60));
$('#inf_notes_2').val(strInput.substring(60, 120));
$('#inf_notes_3').val(strInput.substring(120, lng));
$('#inf_notes_4').val("");
}
else if (lng > 180 && lng <= 240) {
// If more then 180, fill the fourth field
$('#inf_notes_1').val(strInput.substring(0, 60));
$('#inf_notes_2').val(strInput.substring(60, 120));
$('#inf_notes_3').val(strInput.substring(120, 180));
$('#inf_notes_4').val(strInput.substring(180, lng));
}
if(lng > maxLength) {
$('#inf_notes_1').val(strInput.substring(0, 60));
$('#inf_notes_2').val(strInput.substring(60, 120));
$('#inf_notes_3').val(strInput.substring(120, 180));
$('#inf_notes_4').val(strInput.substring(180, 240));
$(this).val($(this).val().substring(0, maxLength));
$('.alert_textarea').show(); // Simple alert
}
else
{
$('.alert_textarea').hide();
}
});
});
</script>
</head>
<body>
<form>
<input id="inf_notes_1" type="text" size="80" /><br>
<input id="inf_notes_2" type="text" size="80" /><br>
<input id="inf_notes_3" type="text" size="80" /><br>
<input id="inf_notes_4" type="text" size="80" /><br>
<textarea id="inf_notes" style="width: 500px; height: 100px;"></textarea>
</form>
<div class="alert_textarea" style="display:none;">Your text is too long!</div>
</body>
</html>
$(文档).ready(函数()
{
//我的文本区
$(“#inf_notes”).bind('keyup',function(){
var maxLength=240;
var strInput=$(this.val();
var lng=strInput.length;
如果(液化天然气60和液化天然气120和液化天然气180和液化天然气最大长度){
$('inf#u notes_1').val(strInput.substring(0,60));
$('inf#u notes_2').val(strInput.substring(60120));
$('inf#u notes_3').val(strInput.substring(120180));
$('inf#u notes_4').val(strInput.substring(180240));
$(this.val($(this.val().substring(0,maxLength));
$('.alert_textarea').show();//简单警报
}
其他的
{
$('.alert_textarea').hide();
}
});
});
你的文字太长了!
它只基于length和.substring()方法
闪电的解决方案非常漂亮
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function()
{
// My text area
$("#inf_notes").bind('keyup', function () {
var maxLength = 240;
var strInput = $(this).val();
var lng = strInput.length;
if (lng <= 60) {
// The first 60 caracters
$('#inf_notes_1').val(strInput);
$('#inf_notes_2').val("");
$('#inf_notes_3').val("");
$('#inf_notes_4').val("");
}
else if (lng > 60 && lng <= 120) {
// If more then 60, fill the second field
$('#inf_notes_1').val(strInput.substring(0, 60));
$('#inf_notes_2').val(strInput.substring(60, lng));
$('#inf_notes_3').val("");
$('#inf_notes_4').val("");
}
else if (lng > 120 && lng <= 180) {
// If more then 120, fill the third field
$('#inf_notes_1').val(strInput.substring(0, 60));
$('#inf_notes_2').val(strInput.substring(60, 120));
$('#inf_notes_3').val(strInput.substring(120, lng));
$('#inf_notes_4').val("");
}
else if (lng > 180 && lng <= 240) {
// If more then 180, fill the fourth field
$('#inf_notes_1').val(strInput.substring(0, 60));
$('#inf_notes_2').val(strInput.substring(60, 120));
$('#inf_notes_3').val(strInput.substring(120, 180));
$('#inf_notes_4').val(strInput.substring(180, lng));
}
if(lng > maxLength) {
$('#inf_notes_1').val(strInput.substring(0, 60));
$('#inf_notes_2').val(strInput.substring(60, 120));
$('#inf_notes_3').val(strInput.substring(120, 180));
$('#inf_notes_4').val(strInput.substring(180, 240));
$(this).val($(this).val().substring(0, maxLength));
$('.alert_textarea').show(); // Simple alert
}
else
{
$('.alert_textarea').hide();
}
});
});
</script>
</head>
<body>
<form>
<input id="inf_notes_1" type="text" size="80" /><br>
<input id="inf_notes_2" type="text" size="80" /><br>
<input id="inf_notes_3" type="text" size="80" /><br>
<input id="inf_notes_4" type="text" size="80" /><br>
<textarea id="inf_notes" style="width: 500px; height: 100px;"></textarea>
</form>
<div class="alert_textarea" style="display:none;">Your text is too long!</div>
</body>
</html>
$(文档).ready(函数()
{
//我的文本区
$(“#inf_notes”).bind('keyup',function(){
var maxLength=240;
var strInput=$(this.val();
var lng=strInput.length;
如果(液化天然气60和液化天然气120和液化天然气180和液化天然气最大长度){
$('inf#u notes_1').val(strInput.substring(0,60));
$('inf#u notes_2').val(strInput.substring(60120));
$('inf#u notes_3').val(strInput.substring(120180));
$('inf#u notes_4').val(strInput.substring(180240));
$(this.val($(this.val().substring(0,maxLength));
$('.alert_textarea').show();//简单警报
}
其他的
{
$('.alert_textarea').hide();
}
});
});
你的文字太长了!
它只基于length和.substring()方法
为什么不只使用一个最多240个字符的文本区域,然后在提交/需要时将内容拆分为4个提交参数(或隐藏字段,如果需要)?也。。如果将单词分解,这样可以吗?因为第一个开发人员将自定义帖子放入数组,我需要将其填入TXT文件。。我也有同样的想法,但当我输入代码时,我对自己说,在前端工作会更容易。在服务器上将一个值分成四个值以填充阵列似乎更简单、更可靠。我更擅长“前端”开发,而您不想看到后端;-)为什么不只使用一个最多240个字符的文本区域,然后在提交/需要时将内容拆分为4个提交参数(或隐藏字段,如果需要)?也。。如果将单词分解,这样可以吗?因为第一个开发人员将自定义帖子放入数组,我需要将其填入TXT文件。。我也有同样的想法,但当我输入代码时,我对自己说,在前端工作会更容易。在服务器上将一个值分成四个值以填充阵列似乎更简单、更可靠。我更擅长“前端”开发,而您不想看到后端;-)这个解决方案似乎很有魅力!我已经找到了一个快速的解决方案,但它保留了我想要删除的4个输入字段。这个解决方案看起来很有魅力!我找到了一个快速解决方案,但它保留了我想要删除的4个输入字段。脚本不需要“超级”验证。。它仅用于“店内”使用。顺便提一下,谢谢你的建议!脚本不需要“超级”验证。。它仅用于“店内”使用。顺便提一下,谢谢你的建议!
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function()
{
// My text area
$("#inf_notes").bind('keyup', function () {
var maxLength = 240;
var strInput = $(this).val();
var lng = strInput.length;
if (lng <= 60) {
// The first 60 caracters
$('#inf_notes_1').val(strInput);
$('#inf_notes_2').val("");
$('#inf_notes_3').val("");
$('#inf_notes_4').val("");
}
else if (lng > 60 && lng <= 120) {
// If more then 60, fill the second field
$('#inf_notes_1').val(strInput.substring(0, 60));
$('#inf_notes_2').val(strInput.substring(60, lng));
$('#inf_notes_3').val("");
$('#inf_notes_4').val("");
}
else if (lng > 120 && lng <= 180) {
// If more then 120, fill the third field
$('#inf_notes_1').val(strInput.substring(0, 60));
$('#inf_notes_2').val(strInput.substring(60, 120));
$('#inf_notes_3').val(strInput.substring(120, lng));
$('#inf_notes_4').val("");
}
else if (lng > 180 && lng <= 240) {
// If more then 180, fill the fourth field
$('#inf_notes_1').val(strInput.substring(0, 60));
$('#inf_notes_2').val(strInput.substring(60, 120));
$('#inf_notes_3').val(strInput.substring(120, 180));
$('#inf_notes_4').val(strInput.substring(180, lng));
}
if(lng > maxLength) {
$('#inf_notes_1').val(strInput.substring(0, 60));
$('#inf_notes_2').val(strInput.substring(60, 120));
$('#inf_notes_3').val(strInput.substring(120, 180));
$('#inf_notes_4').val(strInput.substring(180, 240));
$(this).val($(this).val().substring(0, maxLength));
$('.alert_textarea').show(); // Simple alert
}
else
{
$('.alert_textarea').hide();
}
});
});
</script>
</head>
<body>
<form>
<input id="inf_notes_1" type="text" size="80" /><br>
<input id="inf_notes_2" type="text" size="80" /><br>
<input id="inf_notes_3" type="text" size="80" /><br>
<input id="inf_notes_4" type="text" size="80" /><br>
<textarea id="inf_notes" style="width: 500px; height: 100px;"></textarea>
</form>
<div class="alert_textarea" style="display:none;">Your text is too long!</div>
</body>
</html>