[英]jQuery + hidden input fields
我遇到的問題的簡化版本:
這是我的HTML表單:
<form enctype="multipart/form-data" method="post" action="/controller/action">
<input type="text" name="title" id="title" value="" class="input-text" />
<input type="hidden" name="hidden_field" value="" id="hidden_field" />
<input type="submit" name="submit_form" id="submit_form" value="Save" class="input-submit" />
</form>
這是JavaScript:
$(document).ready(function() {
$('#submit_form').hover(function() {
$('#hidden_field').attr('value') = 'abcd';
});
});
這是PHP后端的一個非常簡短的版本:
if (isset($_POST)) {
var_dump($_POST);
}
我要做的是將#submit_form按鈕懸停幾秒鍾,以確保執行了jQuery代碼,然后提交表單並執行以下操作:
這是為什么? 當我將鼠標懸停事件將其插入jQuery的隱藏字段時,它應包含“ abcd”。
該聲明
$('#hidden_field').attr('value') = 'abcd';
是不正確的。 當您將一個右值(jQuery對象)分配給另一個右值(字符串)時,您應該在此出現錯誤。 (賦值運算符在左側需要一個左值(例如,變量)。)
您可能想要:
$('#hidden_field').val('abcd');
要么:
$('#hidden_field').attr('value', 'abcd');
(前者更像jQuery,但在這種情況下,兩者都是等效的。)
它是:
$('#hidden_field').attr('value','abcd');
由於這些都是隱藏元素,因此請務必通過查看頁面源代碼的方式進行其他檢查,例如,按F12鍵,使用alert()
等進行檢查。原始html頁面的源代碼將不會反映通過javascript對其所做的更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.