在提交时添加外部输入值以进行表单

时间:2012-08-27 04:37:09

标签: javascript jquery forms

我有一个典型的形式:

<form action="" accept-charset="utf-8" method="post">
    <textarea name="content"></textarea>
</form>

和一个不在形式内的元素:

<input type="password" name="password">

提交表单时,如何在表单中添加密码值?

$('form').submit(function(){
   //hmmm
});

5 个答案:

答案 0 :(得分:12)

在表单中创建一个隐藏字段,并在提交时将密码字段值复制到该字段。 像这样。

<form action="" accept-charset="utf-8" method="post">
    <textarea name="content"></textarea>
    <input type="hidden" name="password" id="ps">
</form>

<input type="password" name="password" id="ps1">

在提交功能上。

$('form').submit(function(){
   $('input#ps').val($('input#ps1').val());
   return true;
});

答案 1 :(得分:4)

“正确”执行此操作的尚未支持但符合HTML5的方法是为<input>元素[form] attribute

<form id="foo">
    ...stuff...
</form>

<input type="password" id="bar" form="foo" />

最终您可以将其用作解决方案,但在更多浏览器支持[form]属性之前,您必须使用JavaScript对其进行填充。

答案 2 :(得分:1)

$('form').submit(function(){
   var password = $('input[type="password"]');
   password.appendTo($(this));
   //or $(this).append(password);
});

答案 3 :(得分:0)

在表单内包含一个隐藏的输入元素, 在外部输入的更改事件中,为内部输入分配外部输入值。

<form action="" accept-charset="utf-8" method="post">
    <textarea name="content"></textarea>
    <input type="hidden" id="inner" />
</form>
<input type="password" name="password" >


<script type="text/javascript">
    $(function(){
        $('#outer').change(function(){
            $('#inner').val($(this).val());
        });
    });
</script>

答案 4 :(得分:0)

在表单中使用隐藏的输入字段,如下所示:

ex:<input type="hidden" name="pass">

当你提交这样的表格时:

$('form').submit(function(){
 <!-- Save the value of password into the hidden field
  Note : Password here should just be one field in that page -->
 $('input[name="pass"]').val($('input[type="password"]').val());
 return true;

});