簡體   English   中英

javascript從表單打開模式窗口

[英]javascript open modal window from form

因此,我對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,我將每個按鈕設置為“單擊”,以調用需要做一些事前准備然后提交表單的函數。 我的問題是如何獲取“檢查”按鈕以在對話框而不是窗口中顯示返回的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
});

任何建議都非常歡迎,我在Web和javascript上很爛:(問候!

由於您已經在使用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+,則回調函數會有所不同,但仍然可以使用。 試試這個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM