2013-04-03 35 views
0

我有下面的代碼,正在使用的cms頁面彈出 即時通訊的問題是如果你留下電子郵件地址輸入欄位空白並點擊提交(在「獲取代碼「按鈕,您簡要地看到紅色驗證消息,但隱藏窗體,顯示隱藏的div。Magento - 時事通訊彈出窗口代碼在表格中使用ajax更新

爲什麼或者我該如何防止這個過程,我希望它驗證但是繼續顯示隱藏的div內容。下面是代碼。

<div id="pop-confirm" style="display: none;"> 
<h1 style="color: #000000; font-weight: bold;">THANKS!</h1> 
<p>&nbsp;</p> 
<h2>Use code: <strong>extra15</strong><br /> for 15% off your purchase.</h2> 
</div> 
<form id="newsletter-validate-detail" action="home/send" method="post" onSubmit="new Ajax.Updater({success:'newsletter-validate-detail'}, 'newsletter/subscriber/new', {asynchronous:true, evalScripts:false, onComplete:function(request, json){Element.hide('newsletter-validate-detail');Element.show('pop-confirm');}, onLoading:function(request, json){}, parameters:Form.serialize(this)}); return false;"> 
<div class="block-content"> 
<h2>ENTER YOUR EMAIL<br /> AND GET</h2> 
<div class="form-subscribe-header"> 
<h1>15% OFF</h1> 
<br /> 
<h1>EVERYTHING!</h1> 
</div> 
<div class="input-box"><input id="newsletter" class="input-text required-entry validate-email" title="Sign up for our newsletter" type="text" name="email" /></div> 
<br /> 
<div class="actions"><button class="button" title="Get Code" type="submit"><span><span>Get Code</span></span></button></div> 
<br /> 
<p><em>* Promotion ends April 6th</em></p> 
</div> 
</form> 
<script type="text/javascript">// <![CDATA[ 
     var newsletterSubscriberFormDetail = new VarienForm('newsletter-validate-detail'); 
// ]]></script> 

林很新的阿賈克斯所以也許香港專業教育學院做了一些錯誤。

任何想法或建議將不勝感激。

感謝

回答

1

試着改變你的onsubmit以下幾點:

onSubmit="if(newsletterSubscriberFormDetail.validator.validate()){ new Ajax.Updater({success:'newsletter-validate-detail'}, 'newsletter/subscriber/new', {asynchronous:true, evalScripts:false, onComplete:function(request, json){Element.hide('newsletter-validate-detail');Element.show('pop-confirm');}, onLoading:function(request, json){}, parameters:Form.serialize(this)}); } return false;"` 

這與西港島線AJAX提交表單之前觸發驗證。適用於我的作品:)

+0

爲什麼不把它放到函數中並在onSubmit中調用函數? – 2013-05-14 15:05:18

+0

這也可以。只是一個偏好問題:) – 2013-05-14 17:13:55