總結起來,我收集地址信息和用戶選擇的支付方法,然後通過Ajax驗證PHP的信息,如果驗證失敗顯示該錯誤或將會將用戶在新的寡婦中重定向到PayPal。我知道window.open必須在點擊之內,這是問題所在。我嘗試了一個函數中的整個Ajax東西,然後調用該函數,然後在點擊大量內重定向,但它沒有奏效。任何想法?Ajax請求後的Javascript的window.open函數避免任何彈出窗口攔截器
< - 更新 - >
不是很大,但它加入了新的一步,開啓了一個漂亮的模態一個提示,併成功消息解決。
總結起來,我收集地址信息和用戶選擇的支付方法,然後通過Ajax驗證PHP的信息,如果驗證失敗顯示該錯誤或將會將用戶在新的寡婦中重定向到PayPal。我知道window.open必須在點擊之內,這是問題所在。我嘗試了一個函數中的整個Ajax東西,然後調用該函數,然後在點擊大量內重定向,但它沒有奏效。任何想法?Ajax請求後的Javascript的window.open函數避免任何彈出窗口攔截器
< - 更新 - >
不是很大,但它加入了新的一步,開啓了一個漂亮的模態一個提示,併成功消息解決。
您可能需要在您的UI中執行兩個步驟,第一次單擊通過ajax驗證數據,然後在成功時出現一個按鈕,顯示「成功!打開PayPal」之類的內容。這是一個糟糕的用戶體驗,但它在實施方面會很好。
換句話說,並糾正我,如果我錯了,添加額外的步驟,用戶採取?不妨謝謝。 –
我們可以看到代碼嗎? – neilsimp1
我不認爲這是可能的異步請求。 //也許你可以在每個表單字段的基礎上,使用變化/模糊處理程序進行驗證 - 然後,只有在滿足所有驗證要求後,您的實際提交按鈕纔會啓用_enabled_,然後在按鈕上調用window.open調用_directly_ won不會被阻止。 (另請參閱HTML5表單驗證功能可能已經爲您處理了多少工作,而無需任何其他AJAX請求。) – CBroe
感謝man,async:false實際上使它可以在Firefox上工作。至於你的,沒有太大的變化,但那是你的幫助。 –