我有两个textarea
字段,第一个是隐藏的,第二个是可见的,我的问题是如何在点击提交按钮时将可见的内容分配给隐藏?
有什么建议吗?不重要( Javascript 或 Jquery )两者都有帮助。
答案 0 :(得分:2)
如果您使用的是jquery,则可以在触发提交事件时设置隐藏字段的值。
cat fifo
如果您需要,可以将项目绑定在一起,以便任何时候可见的textarea更改它将自动更新隐藏的项目。
$('form').submit(function() {
$('#txt1_hidden').val($('#txt1_visible').val());
})
<强>演示:强>
答案 1 :(得分:1)
您可以使用val()方法:
<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery-git.js"></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<style id="jsbin-css">
textarea[name=hidden]{
display:none;
}
</style>
</head>
<body>
<form action="" id="myForm">
<textarea name="visible" id="" cols="30" rows="10"></textarea>
<textarea name="hidden" id="" cols="30" rows="10"></textarea>
<input type="submit">
</form>
<script id="jsbin-javascript">
$("#myForm").on("submit",function(e){
//Prevent the submission of the form
//(if you want to submit it, you need to submit it after the duplication of your text are
e.preventDefault();
$("textarea[name=hidden]").val($("textarea[name=visible]").val());
});
</script>
</body>
</html>
这样,您就可以对任何事件进行复制!例如:
$("textarea[name=visible]").on("change",function(){
...
});
答案 2 :(得分:0)
Javascript解决方案
您可以使用onsubmit
事件并将内容分配到其中的隐藏字段:
document.form[0].onsubmit=function()
{
//Get visible input value
var visible_input_value = document.getElementById('visible-input').value;
//Assign the previous value to the hidden input
document.getElementById('hidden-input').value = visible_input_value;
};
JQuery解决方案
在jquery中使用submit
事件和val()
函数获取/设置字段值的相同内容:
$('body').on('submit', 'form', function() {
//Get visible input value
var visible_input_value = $('#visible-input').val();
//Assign the previous value to the hidden input
$('#hidden-input').val( visible_input_value );
})
希望这有帮助。
答案 3 :(得分:0)
我的建议:
$(function () {
var content = "This is a sample text!"
$('<textarea id="myFirsttxtarea">' + content + '</textarea><br/>').insertBefore('#myForm input[type="submit"]');
$('#myForm').on('submit', function(e) {
// on submit do: now nothing
e.preventDefault();
// clone the element and hide
$('#myFirsttxtarea').clone().attr('id', 'mySecondtxtarea').hide().insertBefore('#myForm input[type="submit"]');
});
});
<script src="http://code.jquery.com/jquery-1.11.3.js"></script>
<form id="myForm">
<input type="submit" value="Submit">
</form>
答案 4 :(得分:0)
试试这个:简单直接:
$('form').submit(function(e) {
$('textarea#txt1_hidden').val($('textarea#txt1').val());
e.preventDefault();
});