event.preventDefault(); 提交表格时没有工作

您好我试图将结果从提交表单放入div而不是在新窗口中打开它。 问题是我的event.preventDefault(); 似乎没有工作,我不明白为什么。 结果总是在我点击提交按钮后打开contact-form-handler.php这是脚本文件

这是代码:

  

联系表:

 
Full Name:

Email Address:

Phone Number:

Message:

脚本代码:

  $("#contactForm").submit(function(event) { /* stop form from submitting normally */ event.preventDefault(); /* get some values from elements on the page: */ var $form = $( this ), $submit = $form.find( 'button[type="submit"]' ), name_value = $form.find( 'input[name="name"]' ).val(), email_value = $form.find( 'input[name="email"]' ).val(), phone_value = $form.find( 'input[name="phone"]' ).val(), message_value = $form.find( 'textarea[name="message"]' ).val(); /* Send the data using post */ var posting = $.post( "contact-form-handler.php", { name: name_value, email: email_value, phone: phone_value, message: message_value }); posting.done(function( data ) { /* Put the results in a div */ $( "#contactResponse" ).html(data); /* Change the button text. */ $submit.text('Sent, Thank you'); /* Disable the button. */ $submit.attr("disabled", true); }); });  

PHP代码:

 <?php $myemail = 'mymail@mail.com';// 

所以问题是当我点击提交按钮而不是显示在#contactResponse div里面的结果时,它显示在脚本的新页面中contact-form-handler.php

任何建议为什么这不起作用?

我最好的猜测是,在实际呈现表单之前,您要添加#contactForm提交侦听器。 尝试将jQuery包装在$(document).ready(function () {});

我没有看到任何其他问题。

使用 ,您的脚本将无法正常工作,将替换为 ,它将正常工作。 但是不推荐使用language =“javascript”,而选择type =“text / javascript”。 请记住你把代码放在$(document).ready(function(){//要实现的代码//});

无论如何你的脚本将通过用language =“javascript”替换type =“text / javascript”来工作