是否可以在頁面中創建沒有輸入選擇器的HTML表單,並通過javascript創建這些「輸入」對象,然後提交它?我如何創建這些「項目」? 或者我是否必須始終創建任何「項目」以在HTML代碼中提交?代碼中沒有輸入選擇器的HTML表單
那麼,我可以避免創建惱人的隱藏輸入,以發送JavaScript變量?我真的不能找到任何教程或例子...
非常感謝您的幫助。
是否可以在頁面中創建沒有輸入選擇器的HTML表單,並通過javascript創建這些「輸入」對象,然後提交它?我如何創建這些「項目」? 或者我是否必須始終創建任何「項目」以在HTML代碼中提交?代碼中沒有輸入選擇器的HTML表單
那麼,我可以避免創建惱人的隱藏輸入,以發送JavaScript變量?我真的不能找到任何教程或例子...
非常感謝您的幫助。
這樣,使用jquery
$('<form>', {
"id": "getInvoiceImage",
"html": '<input type="text" id="componentInvoicId" name="componentInvoicId" value="' + componentInvoiceId + '" />',
"action": window.siteRoot + 'ComponentInvoice/GetInvoiceImage/'
}).appendTo(document.body).submit();
的更好的方法:
$.post(url, { value1: "foo", value2: "bar" });
,如果你堅持用形式做,這裏是廣義的功能,所以你可以通過它的json數據
var postRequest = function (uri, data) {
data = data || {};
var form = $('<form method="post" class="js:hidden">').attr('action', uri);
$.each(data, function(name, value) {
var input = $('<input type="hidden">')
.attr('name', name)
.attr('value', value);
form.append(input);
});
$('body').append(form);
form.submit();
};
爲什麼追加?爲什麼要創造元素? – mplungjan
好吧,你可以做ajax,但有時你實際上想要去其他頁面。它確保沒有其他事情發生。我個人從不使用它們。 – AwokeKnowing
我現在看到Ajax和jQuery如何提供幫助,我喜歡你的第二個選項$ .post,因爲它符合我的想法,可以避免HTML中不必要的東西,但它不會像我更喜歡的那樣重定向頁面。無論如何,我現在有一個更好的理解,繼續瞭解它。謝謝你們所有人。 – davigueras
是的,這可以完成,即使完全沒有使用<form>
。 (http://api.jquery.com)。例如,如果你想知道客戶端設備的寬度,你可以添加以下代碼:
$(document).ready(function() {
$.ajax({
url: http://yourdomain.com/yourscript.php,
dataType: 'json',
type: 'POST',
data: {
w: $(window).width,
h: $(window).height
}
});
});
這將提交參數W和H您的應用程序,包含窗口的寬度和高度。只是一個例子。
我認爲你的意思是這樣的? http://stackoverflow.com/questions/1414713/creating-form-in-javascript-without-html-form – Jake
是的,你可以像@Jake指出的那樣。爲什麼你必須首先發送javascript變量?告訴更多關於它的信息,看看我們能否以不同的方式提供幫助(提出其他方法)。 –
如果您可以總結您正在嘗試做什麼,可以提供更好的解決方案。 –