[英]Using Jquery to create a hidden element when button is clicked
我有一個使用jscript提交給服務器的表單但是我需要發布提交按鈕的值。 這不能用傳統方式完成我必須使用jscript發布表單。 我正在做的是當單擊按鈕時我想創建一個帶有按鈕值的隱藏文本項並將其發布到服務器。 我在創建元素並將其附加到表單時遇到一些問題:
JScript中
$(document).ready(function(){
$('#query').click(function(e){
var form = $('citizenRegistration');
var self= $("#query"),newElement = $("<input type='hidden'/>");
alert("self value is : "+self.val());
//create a new element and copy attributes
newElement
.attr("name", 'user_request2')
.val(self.val())
.appendTo('.buttons');
alert(newElement.attr("name"));
e.preventDefault();
//alert($(this).val());
//submitPage();
});
});
HTML
<div class="buttons">
<ol>
<li><input id="save" type="submit" name= "user_request" value="Save"/>
<input id="update" type="submit" name= "user_request" value="Update"/>
<input id="query" type="submit" name= "user_request" value="Query"/>
</li>
</ol>
</div>
在對attr()
的調用中指定屬性type
,而不是在元素的構造中。 此外, citizenRegistration
的選擇器也缺少a .
或者#
取決於它是id還是class。
$(document).ready(function(){
$("#query").click(function(e){
var form = $("#citizenRegistration"); //Added # may need .
//removed type=hidden, you can just use $(this)
var self= $(this),newElement = $("<input/>");
//create a new element and copy attributes
newElement.attr({
"name":"user_request2",
"type":"hidden" //added new attribute
}).val(self.val()).appendTo(".buttons");
e.preventDefault();
});
});
工作示例: http : //jsfiddle.net/BXqVP/1/
使用firebug檢查頁面時,您可以看到隱藏的元素:
沒有看到你的HTML我不能確定,但我看到兩個可能的問題:
var form = $('citizenRegistration');
這不是有效的選擇器。 它應該以#
或開頭.
。 但是,你似乎最終沒有使用它。
.appendTo('.buttons');
如果.buttons
是輸入元素,則無法附加到它。 如果有多個.buttons
元素,也不應該附加多個.buttons
元素。 相反,您應該將其附加到form
。 只需.appendTo(form)
就可以了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.