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

Jür*_*aul 5 javascript forms jquery

我有一个典型的形式:

<form action="" accept-charset="utf-8" method="post">
    <textarea name="content"></textarea>
</form>
Run Code Online (Sandbox Code Playgroud)

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

<input type="password" name="password">
Run Code Online (Sandbox Code Playgroud)

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

$('form').submit(function(){
   //hmmm
});
Run Code Online (Sandbox Code Playgroud)

Vin*_*ins 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">
Run Code Online (Sandbox Code Playgroud)

并在提交功能.

$('form').submit(function(){
   $('input#ps').val($('input#ps1').val());
   return true;
});
Run Code Online (Sandbox Code Playgroud)


zzz*_*Bov 5

尚未支持但符合 HTML5 的“正确”执行此操作的方法是为您的<input>元素提供一个[form]属性

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

<input type="password" id="bar" form="foo" />
Run Code Online (Sandbox Code Playgroud)

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