В реальных проектах я часто сталкиваюсь с такими требованиями, то есть прыгать между страницами подсистемы и открывать на новой странице. Команда проекта, в которой я нахожусь, использует структуру SSH, поэтому URL -адреса аналогичны ****. Действие, а также имеет два параметра (идентификатор системы и имя системы). Два параметра перехватываются стойки и хранятся в сеансе. Существует также деревоподобное меню, реализованное плагином Ztree на странице открытой подсистемы, которое требует идентификации идентификатора системы параметров. Используйте window.open (url, "_ blank") напрямую, что сделает URL слишком долго, а также обнаружит некоторые параметры. Поэтому я хочу использовать POST для отправки вместо этого, скрывая передачу параметров в процессе отправки. Прежде всего, я думаю о представлении Ajax, но будут проблемы с прохождением двух параметров. Ajax Readision and Window.open () приведет к тому, что действие будет выполняться дважды, поэтому я отказаюсь от него. Позже я снова тщательно посмотрел API window.open (), и адрес ссылки был http://www.w3school.com.cn/jsref/met_win_open.asp. window.open () - это метод получения по умолчанию. Если вы хотите реализовать метод отправки после, вы должны подумать о другом методе. См. //Www.vevb.com/article/32826.htm, здесь введен метод. Это также метод, который часто используется. Я внес некоторые модификации на основе реальной ситуации:
Кода -копия выглядит следующим образом:
Функция OpenPostWindow (URL, имя, Data1, Data2) {
var tempform = document.createElement ("form");
tempform.id = "tempform1";
tempform.method = "post";
tempform.action = url;
tempform.target = name;
var hideinput1 = document.createElement ("input");
hideinput1.type = "hidden";
hideinput1.name = "Xtid";
hideinput1.value = data1;
var hideinput2 = document.createElement ("input");
hideinput2.type = "hidden";
hideinput2.name = "xtmc";
hideinput2.value = data2;
tempform.appendchild (hideinput1);
tempform.appendchild (hideinput2);
if (document.all) {
tempform.attachevent ("onsubmit", function () {}); // т.е.
}еще{
var subobj = tempform.addeventListener ("propect", function () {}, false); // Firefox
}
document.body.appendchild (Tempform);
if (document.all) {
tempform.firevent ("onsubmit");
}еще{
tempform.dispatchevent (новое событие ("отправить"));
}
tempform.submit ();
document.body.removechild (Tempform);
}
// функция OpenWindow (name) {
// window.open ("", name);
//}
Количество параметров в функции OpenPostWindow () изменяется сама по себе в соответствии с фактическими потребностями. Data1 и Data2 - это параметры, которые необходимо передавать в действии. Кроме того, здесь необходимо рассмотреть проблемы совместимости событий Javascript событий. Я прокомментировал функцию openwindow () здесь, иначе я открою дополнительную пустую страницу (о: пусто). Это в основном отвечает потребностям.
Приведенное выше контент, разделенный в этой статье, я надеюсь, что вам понравится.