所以,我对Javascript和Jquery非常陌生,并且在我的膝盖上得到了这个可怕的旧网店。 它的基本结构是一个表单和两个按钮,每个按钮更新了" action"属性然后提交表单,就像这样..
<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,我设置了每个按钮&#34;点击&#34;调用执行某些前期工作的函数然后提交表单。我的问题是如何获得&#34; Inspect&#34;按钮在对话框而不是窗口中显示返回的html?
function inspect() {
$("#orderform").attr("target", "_blank");
$("#orderform").attr("action", "/order/inspectorder.p");
$("#orderform").submit();
};
一些快速的谷歌搜索给了我这个暗示,但我无法管理如何让这个难题发挥作用。我需要将表单提交给inspectorder.p服务器代码,谁将返回正确的html,但是如何将该表格转换为模态对话框?
$("#dialog").load('myfunction.p', function() {
$(this).dialog({
modal: true,
autoOpen: true,
closeOnEscape: true,
height: 200
});
任何建议都很受欢迎,我吮吸网络和javascript :( 此致!
答案 0 :(得分: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+,那么回调是不同的,但它仍然有效。试试这个。