2011-12-14 76 views
1

我使用jQuery驗證插件包含在一個顏色框中。如果驗證成功,我想關閉colorbox並打開第二個colorbox(表示感謝),然後將用戶發送到其原始目的地。JavaScript,如果提交是真實的(使用colorbox和jquery驗證)

腳本捕獲用戶的目標並將其放入一個變量,然後打開一個colorbox。用戶可以通過四種不同的方式存在colorbox,單擊該bock,單擊右上角的x,單擊關閉按鈕或成功提交。然後他們繼續前進。

我需要的東西就像一個提交成功,然後打開謝謝你的彩盒。我迄今爲止所嘗試的只是打破了一切。

$('#lookUpSubmit').unbind('click').click(function(){ 
    $form.submit(); 
}); 

$("#lookUpCancel").unbind('click').click(function(){ 
    $.colorbox.close(); 
}); 

$(document).bind('cbox_closed', function() { 
    window.location = destination_url; 
}); 

$form.validate({ 
    submitHandler: function(form) { 
     form.submit(); 
    }, 
//some stuff 
}); 
+0

如果創建一個http://jsfiddle.net與您的代碼,我很樂意過目,並助陣。 – JesseBuesking 2011-12-14 21:02:32

+0

嘿,那有點漂亮。 http://jsfiddle.net/absynthe_minded_web_smith/Jk8sK/1/ – 2011-12-14 21:52:14

回答

0

de提交成功時會發生什麼?你重定向到一個頁面或什麼?至於JavaScript是基於客戶端的,你不會對服務器給你帶來什麼影響或任何影響。您可以在成功提交後重定向的網頁上實施Thank You Popup!

+0

發生什麼事是,當用戶點擊某個網站的某個部分時,我們彈出一個模式窗口,作爲幾個問題然後發送他們的方式。它只會吸引到我們網站其他部分的人,因爲我們在這部分網站沒有任何外部鏈接。 – 2011-12-14 21:53:58

0

您提供的信息有點含糊。你什麼意思是「一切都打破了」?

你所描述的可能是由許多因素引起的:
$ form是實際在某處定義的,還是你的意思是使用$(form)?
您是否驗證了您的解除綁定/綁定鏈正常工作?

 

    $('#lookUpSubmit').unbind('click').click(function(){ 
     alert("B2K Was Here!"); 
    }); 

提交表單將重新載入頁面或重定向到動作url。您需要阻止提交。

$('#formid').submit(function(e) { 
    e.preventDefault(); 
    // validate here 
    if (valid) { 
    $.ajax({ 
     type: 'POST', 
     url: this.action, 
     data: $(this).serialize(), 
     success: function() { 
      // open thank you colorbox here 
     } 
    }); 
    } 
});