2012-08-27 52 views
4

我有一個典型形式:添加一個外部輸入值,從而在提交

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

和未裏面-A-表單元素:

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

如何添加的價值我在提交表單時將密碼填入表格中?

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

回答

11

創建於形式的隱藏字段和密碼字段的值複製到該字段上提交。 喜歡這個。

<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; 
}); 
+0

啊,我爲什麼沒有想到這一點。謝謝! – Michelle

+0

是否有更多更多字段添加到它? – coder771

+1

@ coder771是的,你可以在返回之前添加任何字段。 – Vins

1
$('form').submit(function(){ 
    var password = $('input[type="password"]'); 
    password.appendTo($(this)); 
    //or $(this).append(password); 
}); 
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> 
0

使用隱藏的輸入字段內的形式是這樣的:

例如:<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; 

});

4

的尚未支持的,但是,HTML5兼容的方式做到這一點「正確」是給你的<input>元素的[form] attribute

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

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

最終,你可能能夠以此作爲解決方案,但在更多瀏覽器支持[form]屬性之前,您必須使用JavaScript對其進行填充。

+6

+1來自未來 – ahren

+0

從技術上講,瀏覽器都不支持它嗎? – Michelle

+0

@Severus,我相信一些瀏覽器支持它,但我沒有檢查過,也找不到任何兼容表。它甚至沒有在[caniuse](http://caniuse.com/#feat=forms)上列出,所以我認爲瀏覽器的支持最好是粗略的。幸運的是,這種交互很容易用JS來填充。 – zzzzBov

相關問題