Я использую JavaScript для отправки формы, которую я делаю с нуля. Код ниже работает в Chrome, но не в Firefox или IE. Как я могу создать и отправить форму и заставить ее работать через «все» браузеры?Как создать и отправить форму, которая работает во всех современных браузерах?
function someFunction(){
var SomeForm = document.createElement("form");
addInputFieldToForm("SpecialName_SortField","UpdateDate",SomeForm);
addInputFieldToForm("SpecialName_SortOrder","false",SomeForm);
addInputFieldToForm("Operation","Search",SomeForm);
SomeForm.action = "<%=link("direct", "WorkspaceDisplay") %>"; // assume this URL is valid (it is).
SomeForm.method = "post";
SomeForm.target = "_top";
SomeForm.submit();
}
//EDIT: Added this function to the question just so there's less mystery (not because it matters, really)
function addInputFieldToForm(elementName, elementValue, theForm) {
var inputElement = document.createElement("input");
inputElement.name = elementName;
inputElement.value = elementValue;
inputElement.id = elementName;
theForm.appendChild(inputElement);
}
Что делает «addInputFieldToForm»? Вероятно, это будет код интереса. То, что вы пытаетесь сделать, довольно распространено, но не зависит от браузера, или, по крайней мере, этого не должно быть. – Pointy
Вы используете любой js-фрейм? вы должны, если хотите создать кросс-браузерную форму с нуля. во всяком случае, что именно не работает? можете ли вы предоставить какие-либо сообщения об ошибках из firebug? – maialithar
«Не работает» - это просто, что форма не публикуется. Журналы сервера не перемещались. JavaScript явно работал, но «SomeForm.sumbit();» не представили форму. Проблема была решена в ответ Роба, ниже. – Dale