2012-05-15 53 views
0

我的頁面中有iframe用於保存數據庫中的數據。我使用validate.js來驗證iframe中的字段。如果我在iframe之外驗證字段意味着它在相同頁面中的工作。如果我做同樣的事情在iframe中它不起作用。我想知道validate.js在iframe中不起作用嗎?
我嘗試:iframe和validate.js

var v = $("#form1").validate({ 
        ignore: ':hidden', 
        rules: { 
         txtTitle: { required: true }, 
         txtPost: { required: true }, 
         txtSummary: { required: true } 
        }, 
        messages: { 
         txtTitle: "Please enter a Post Title", 
         txtPost: "Please enter a Post description", 
         txtSummary: "Please enter a Post Summary" 
        } 
       }); 

而在按鈕點擊我這樣使用。

$("#btnPost").live("click", function() { 
        if (v.form()) { 
        alert("Success"); 
        } 
        else { 
        alert("fail"); 
         return false; 
        } 
       }); 

note:txtTitle,txtPost,txtSummary,btnPost all are iframe controls.謝謝。

回答

0

這很可能是您在不同的域上使用iFrame。 jQuery不會遍歷iFrame,因爲它會違反瀏覽器跨站點策略。如果是這樣的話,你將無法觸及內部DOM。

一個解決方案是綁定到DOM事件,但不知道你的表單代碼,我將無法給你一個確切的解決你的問題。它可能是這樣的:

$("#form1").contents().onclick = function() { // validate here };