2012-10-16 41 views
0

編輯:我最近才知道這個問題實際上是兩個單獨的問題:1)使用腳本在必要的連接處關閉父元素,2)確保必要的功能全部以正確的順序調用和完成。我想出了兩個關閉父元素的方法,這些方法我在下面包含。第二個問題是在這裏討論:Calling jQuery function in php (or modifying javascript so php runs the remaining code)表單驗證後關閉父項(包括iframe)


原始的問題

我有2個功能,我需要一次調用的形式進行驗證並提交,但我一直不成功,在插入這些功能到我的腳本沒有阻止另一個功能完成(無論是在JavaScript或PHP)。

如何整合這些函數以關閉父項(iframe和通知新用戶)到腳本中和/或在表單驗證並提交後從PHP調用它們?

的新功能:

parent.close_field('notice'); 
parent.$.fancybox.close(); 

現有的JavaScript

var $custInfo = $("#customer_info"); 
    $(document).ready(function() { 
    var validator = $custInfo.validate({ 
     rules: {.. }, 
     messages: {..}, 
     errorLabelContainer: "#messageBox", 
     submitHandler: function() { 
      $custInfo.ajaxSubmit({    
      }); 
     } 
    });     
    $custInfo.find("input[name=gender]").change(function() { 
     if ($(this).val() == "male") { 
      $custInfo.submit(); 
     } 
    }); 
}); 
我使用Fancybox2

。我也嘗試了其他方法,這些方法需要爲表單標籤添加屬性,但是這些方法完全避開了腳本。

回答

0

我最近才知道這個問題實際上是兩個單獨的問題:1)在必要的交接處使用腳本關閉父元素,2)確保所有必要的函數都以正確的順序被調用和完成。

我想出了兩種關閉父元素的方法,我已經在下面列出了。第二個問題是在這裏討論: Calling jQuery function in php (or modifying javascript so php runs the remaining code)

方法我用於關閉父元素

我想通了兩種方法來關閉父元素。我使用方法1在提交表單時關閉它,在方法2中我需要關閉onclick項目的情況。如果用戶導航到特定網頁)

方法1

在我的特殊的例子,我需要關閉「通知」對每個人,但只有收了誰是男新用戶的iframe,所以我說這給該函數:

submitHandler: function() { 
      $custInfo.ajaxSubmit({ 
      success: function() { 
if ($('input[name=gender][value=female]').is(':checked')){              
     parent.close_field('notice'); 
     window.location.href="page2.html";         
     }        
     else if ($('input[name=gender][value=male]').is(':checked')) { 
     parent.close_field('notice'); 
     parent.$.fancybox.close(); 
     alert("This service is not yet available for men, but we'll be sure to send an invitation as soon as it is");        
     } 
     } 
    }); 

方法2

JS

function close_parent_items() { 
    parent.close_field('notice'); 
    parent.$.fancybox.close(); 
} 

HTML

onclick="close_parent_items();" 
0

簡單的解決方案: 在你的表單標籤

target="_parent" 

添加此類似

<form method="post" action="your_action_file" target = "_parent" > 
</form> 

這對我的作品。

+0

不知道爲什麼這得到了否決票 - 對我也適用 – user2737457