我有以下功能从页面收集数据,将它们全部填入"数据"变量,将其附加到表单然后提交它.
$(document).ready(function () {
$('#content-tab .submit').click(function () {
var data = {champion: window.selectedChampion, runes: runes, masteries: masteries, items: items, skillingOrders: skillingOrders, chapters: chapters, title: $('#guide_title').val()};
data = JSON.stringify(data);
$("<form method='post'>").append($('<input type="hidden" name="data" id="data">').val(data)).submit();
});
});
Run Code Online (Sandbox Code Playgroud)
页面上有一个div,当点击时触发它:
<div class='button pointer submit'>Submit</div>
Run Code Online (Sandbox Code Playgroud)
在Chrome中测试时一切都很好.然后提交的表单会按照计划重定向到页面.但是在Firefox中进行测试时(第5和第6版),点击div不会做任何事情.纳达.小人物.我想知道Firefox出了什么问题?任何帮助将受到高度赞赏.谢谢.
我正在使用以下javascript函数来构造表单并将其提交给服务器.它在Chrome浏览器中运行良好,但在Firefox中无效.
function loadPage(url, projectName){
var jForm = $('<form></form>');
jForm.attr('action', url);
jForm.attr('method', 'post');
var jInput = $("<input>");
jInput.attr('name', 'curPrj');
jInput.attr('value', projectName);
jForm.append(jInput);
jForm.submit();
}
Run Code Online (Sandbox Code Playgroud)
我从SE的旧帖子Mozilla form.submit()中找不到任何建议,将表单附加到文档正文document.body.appendChild(jForm)
但不幸的是,这对我也没有用.我document.body.appendChild(jForm)
在表单提交之前使用时在调试控制台中出现以下错误.
TypeError: Argument 1 of Node.appendChild does not implement interface Node. @ http://localhost:9000/assets/javascripts/global.js
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么吗?请指教.
我正在创建一个在javascript函数中提交的表单.我将函数绑定到select元素的onchange事件.事件在chrome和firefox中运行良好,我测试了它,它调用了函数.但问题是; 虽然chrome提交表单,但firefox没有.能否请你帮忙?谢谢.
Javascript功能:
function getStatementDetails()
{
var stmtSelect = document.getElementById("statementSelect");
var selectedId = stmtSelect.options[stmtSelect.selectedIndex].value;
var stmtForm = document.createElement("form");
stmtForm.setAttribute('method', "post");
stmtForm.setAttribute('action', "mymiles-mystatement");
var stmtId = document.createElement("input");
stmtId.setAttribute('type', "hidden");
stmtId.setAttribute('name', "statementID");
stmtId.setAttribute('id', "statementID");
stmtId.setAttribute('value', selectedId);
stmtForm.appendChild(stmtId);
stmtForm.submit();
};
Run Code Online (Sandbox Code Playgroud)
选择输入:
<select id="statementSelect" name="statementSelect" class="select-miles select-miles-medium spacing-right-10" onchange="getStatementDetails()">
Run Code Online (Sandbox Code Playgroud)
编辑:我已阅读建议的帖子并尝试过.还是行不通.功能最新状态:
function getStatementDetails()
{
var stmtSelect = document.getElementById("statementSelect");
var selectedId = stmtSelect.options[stmtSelect.selectedIndex].value;
var stmtForm = document.createElement("form");
stmtForm.setAttribute('method', "post");
stmtForm.setAttribute('action', "mymiles-mystatement");
var stmtId = document.createElement("input");
stmtId.setAttribute('type', "hidden");
stmtId.setAttribute('name', "statementID");
stmtId.setAttribute('id', "statementID");
stmtId.setAttribute('value', selectedId);
var stmtSbmt = …
Run Code Online (Sandbox Code Playgroud) 我正在尝试复制元素的内容,elem.html()
但它不包括inputs
或的内容textareas
.
这是一个例子(尝试在框中写入然后单击"复制"):http://jsfiddle.net/gAMmr/2/
有没有办法复制所有信息?
这些是我到目前为止尝试过的方法:
elem.clone()
- 不适合我的任务,因为它复制了元素本身elem.children().clone()
- 错过了文本节点elem.contents().clone()
- 不包括textarea内容编辑:每个浏览器的结果似乎不同.我正在使用Chrome.
javascript ×3
jquery ×3
form-submit ×2
forms ×2
html ×2
firefox ×1
input ×1
onclick ×1
textarea ×1