2011-09-24 54 views
1

我使用WordPress侧栏小部件来捕获电子邮件地址。事情是,它在表单提交后重定向。我希望访问者在表单提交后留在他们所在的页面上,只需隐藏一个div,即可获得成功的注册信息。在表单上显示div无重定向提交

我试图用JavaScript这样的事情 -

<script type="text/javascript"> 
function showHide() {  
var div = document.getElementById("hidden_div"); 
if (div.style.display == 'none') { 
div.style.display = ''; 
} 
else {  
div.style.display = 'none'; 
} 
} 
</script> 

这完全适用于显示在提交隐藏的DIV,但实际的形式,然后不工作:(

的形式的(用什么我试图做)就是这样的 -

<div id="wp_email_capture"><form name="wp_email_capture" method="post" onsubmit="showHide(); return false;" action="<?php echo $url; ?>"> 
<label class="wp-email-capture-name">Name:</label> <input name="wp-email-capture-name" type="text" class="wp-email-capture-name"><br/> 
<label class="wp-email-capture-email">Email:</label> <input name="wp-email-capture-email" type="text" class="wp-email-capture-email"><br/> 
<input type="hidden" name="wp_capture_action" value="1"> 
<input name="submit" type="submit" value="Submit" class="wp-email-capture-submit"> 
</form> 

<div id="hidden_div" style="display:none"><p>Form successfully submitted.</p> 
</div> 

的问题是,未来两者之间“返回false”和方式行动(这是插件的鳕鱼呃让它重定向我认为)。如果我删除'返回false',它会重定向。在'返回false'的情况下,表单不起作用。我无法找到一种方法来让表单工作,但不重定向,即。只是显示隐藏的div,工作,就是这样!没有重定向:)希望你的帮助。

+1

'return false;'阻止表单提交。但是,如果没有它,你的页面会回发,它会显示好像你的隐藏div没有显示。你是否真的想提交表单进行服务器端处理*并且*显示隐藏的div,而不需要重新加载页面?如果是这样,你需要看看AJAX。 –

+1

是的,我想要表单处理并显示隐藏的div没有页面重定向。我从来没有碰到AJAX除了盘子:(这将如何工作?谢谢。 – waterprism

+0

正如Cory解释,你一定会需要AJAX的AJAX是一种方式发送数据以编程方式(使用JavaScript),而无需重新加载如果你有什么类型的JavaScript库/框架可用,例如,你的网站是否使用jQuery,Prototype,Mootools等?如果你不知道,试着看看其中一个的''部分你的页面,看看你有什么样的'