将值分配给隐藏的textarea onSubmit

时间:2016-01-12 21:37:48

标签: javascript jquery html forms

我有两个textarea字段,第一个是隐藏的,第二个是可见的,我的问题是如何在点击提交按钮时将可见的内容分配给隐藏?

有什么建议吗?不重要( Javascript Jquery )两者都有帮助。

5 个答案:

答案 0 :(得分:2)

如果您使用的是jquery,则可以在触发提交事件时设置隐藏字段的值。

cat fifo

如果您需要,可以将项目绑定在一起,以便任何时候可见的textarea更改它将自动更新隐藏的项目。

$('form').submit(function() {
  $('#txt1_hidden').val($('#txt1_visible').val());
})

<强>演示:

https://jsfiddle.net/ap3cqhzr/

答案 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(){
  ...
});

示例:http://jsbin.com/gumibif/edit?html,css,js,output

答案 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();
});

示例:https://jsfiddle.net/DinoMyte/ap3cqhzr/1/