2013-02-07 236 views
0

所以,我非常喜欢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(); 
}; 

一些快速的谷歌搜索给了我这个提示,但我无法管理如何让这个难题工作。我需要将表单提交给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+,那么回调是不同的,但它仍然有效。请试试看。

+0

感谢您的帮助,我会尝试只要有一些服务器再次在服务器上播放,就一出。在这种情况下,'数据'生成的HTML,猜我可以显示,在一些不错的窗口然后(或做像HTML提醒?) – elwis

+0

是的,'数据'是返回的HTML,你可以显示在任何jQuery对话框/或者一些警报。 –