如果在没有字段中的任何数据的情况下按下发送按钮,我将如何防止页面刷新?
验证设置正常,所有字段都变为红色,然后页面立即刷新.我对JS的了解相对基础.
特别是我认为processForm()底部的功能是"坏".
HTML
<form id="prospects_form" method="post">
<input id="form_name" tabindex="1" class="boxsize" type="text" name="name" placeholder="Full name*" maxlength="80" value="" />
<input id="form_email" tabindex="2" class="boxsize" type="text" name="email" placeholder="Email*" maxlength="100" value="" />
<input id="form_subject" class="boxsize" type="text" name="subject" placeholder="Subject*" maxlength="50" value="FORM: Row for OUBC" />
<textarea id="form_message" class="boxsize" name="message" placeholder="Message*" tabindex="3" rows="6" cols="5" maxlength="500"></textarea>
<button id="form_send" tabindex="5" class="btn" type="submit" onclick="return processForm()">Send</button>
<div id="form_validation">
<span class="form_captcha_code"></span>
<input id="form_captcha" class="boxsize" type="text" name="form_captcha" placeholder="Enter code" tabindex="4" value="" />
</div>
<div class="clearfix"></div>
</form>
Run Code Online (Sandbox Code Playgroud)
JS
$(document).ready(function() {
// …Run Code Online (Sandbox Code Playgroud) 我搜索了一堆页面,但找不到我的问题,所以我不得不发帖子.
我有一个具有提交按钮的表单,并在提交时我希望它不刷新或重定向.我只是想让jQuery执行一个功能.
这是表格:
<form id="contactForm">
<fieldset>
<label for="Name">Name</label>
<input id="contactName" type="text" />
</fieldset>
<fieldset>
<label for="Email">Email</label>
<input id="contactEmail" type="text" />
</fieldset>
<fieldset class="noHeight">
<textarea id="contactMessage" cols="20"></textarea>
<input id="contactSend" class="submit" type="submit" onclick="sendContactForm()" />
</fieldset>
</form>
<small id="messageSent">Your message has been sent.</small>
Run Code Online (Sandbox Code Playgroud)
这是jQuery:
function sendContactForm(){
$("#messageSent").slideDown("slow");
setTimeout('$("#messageSent").slideUp();$("#contactForm").slideUp("slow")', 2000);
}
Run Code Online (Sandbox Code Playgroud)
我已尝试在表单上使用和不使用操作元素,但不知道我做错了什么.令我恼火的是,我有一个完美的例子: 示例页面
如果你想现场查看我的问题,请转到stormink.net(我的网站)并查看侧栏,上面写着"发送给我和发送电子邮件"和"RSS订阅".这两种形式都是我试图让它继续工作的形式.
当用户提交表单时,我想停止表单的默认行为.即它不应该重新加载.这样我就可以执行AJAX请求了.
这是我用过的代码.
<script type="text/javascript">
function validateForm()
{
return false;
}
</script>
<form action="" name="contact" onsubmit="validateForm();">
<input type="text" name="name" value="Enter Your Name..."/>
<input type="submit" name="submit"/>
</form>
Run Code Online (Sandbox Code Playgroud)
这并不能阻止表单被提交或重新加载.我该如何实现这一目标?