Итак, я новичок в Javascript и JQuery, и у меня на коленях лежит этот ужасный старый интернет-магазин. Его основная структура - это форма и две кнопки, каждая кнопка обновляет атрибут "действие", а затем отправляет форму, как это ...
<form id="orderform" name="order" action="javascript:inspect()" method="post">
...
<input type="button" id="btnOrder" value="Order" name="btnOrder">
<input type="submit" id="btnInspect" value="Inspect" name="submitButtonInspect">
...
</form>
С помощью некоторого слабого jquery я установил каждую кнопку "щелчком" для вызова функций, которые выполняют некоторую предварительную работу, а затем отправляю форму. Моя проблема в том, как заставить кнопку «Осмотреть», чтобы отображать возвращаемый HTML-код в диалоговом окне, а не в окне?
function inspect() {
$("#orderform").attr("target", "_blank");
$("#orderform").attr("action", "/order/inspectorder.p");
$("#orderform").submit();
};
Быстрый поиск в Google дал мне этот намек, но я не могу понять, как заставить эту головоломку работать. Мне нужно отправить форму на серверный код Inspectorder.p, который вернет правильный html, но как получить его в модальном диалоговом окне?
$("#dialog").load('myfunction.p', function() {
$(this).dialog({
modal: true,
autoOpen: true,
closeOnEscape: true,
height: 200
});
Любые советы приветствуются, я отстой в Интернете и javascript :( С уважением!
1 ответ
Поскольку вы уже используете jquery, вы можете использовать метод ajax для отправки формы, например.
$.ajax ({
type: 'POST' ,
url : '/order/inspectorder.p' ,
data : $("#orderform").serialize() ,
success : function (data){
alert (data) ; // this is the returned data
},
error : function (jqXhr, status, errorthrown){
alert(errorthrown); // if an error ocurs
}
})
Вы можете успешно обработать возвращенный результат. Если вы используете jquery 1.8+, обратные вызовы разные, но все равно работают. попробуйте это.
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Обратите внимание, что JavaScript — это НЕ Java. Включите все теги, относящиеся к вашему вопросу: например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [стройный] и т. д.