我可能会得到一个副本,但我搜索和搜索,我找不到有相同语法相同问题的人,所以希望有人可以看到我失踪的东西.PHP不是我的强项,但我已经完成了几个教程和课程,并做了一些努力改进的工作,这就是为什么这让我烦恼不已.我有一个非常简单的html表单,我试图使用PHP发送到电子邮件.我发现了一种不同的方式从我习惯使用的方式来执行此操作,并希望尝试一下.当函数触发时,一切似乎都在工作(我已经使用console.log进行了测试,警告,弹出窗口确实弹出,所以如果我没有弄错的话,"成功"在PHP文件中工作.由此产生的问题是我从未收到表格中的电子邮件(为了提出这个问题,我已经放了一个虚拟电子邮件).
我知道我没有表单动作="something.php"或直接来自表单的函数调用,但从我从这个方法中理解的是,一切都在提交时触发.再说一遍,因为一切似乎都在运作,但电子邮件,我不知道这笔交易是什么.
我很想看看更有经验的眼睛能否找到我所缺少的东西.如果重要,主机提供商是Godaddy.非常感谢你们提供任何帮助.
这是我的html(页面是.php扩展名):
这是我的js代码:
var contactForm = $("#main-contact-form"); contactForm.submit(function(event) { event.preventDefault(); submitForm(); }); function submitForm() { var firstName = $("#first-name"); var lastName = $("#last-name"); var email = $("#email"); var phone = $("#phone"); var company = $("#company"); var contactType = $("#contact-type"); var message = $("#message"); $.ajax({ type: "POST", url: "php/main-contact-form.php", data: "firstName=" + firstName + "&lastName" + lastName + "&email" + email + "&phone" + phone + "&company" + company + "&contactType" + contactType + "&message" + message, success: function(text) { if (text == "success"){ formSuccess(); } } }); } var contactSuccess = $(".contact-submission-success") function formSuccess(){ contactSuccess.addClass("show", 200); } });
这是我的PHP代码:
Luis Cabrera.. 5
好吧,我认为你的问题在这里:
function submitForm() { var firstName = $("#first-name"); var lastName = $("#last-name"); var email = $("#email"); var phone = $("#phone"); var company = $("#company"); var contactType = $("#contact-type"); var message = $("#message"); $.ajax({ type: "POST", url: "php/main-contact-form.php", data: "firstName=" + firstName + "&lastName" + lastName + "&email" + email + "&phone" + phone + "&company" + company + "&contactType" + contactType + "&message" + message, success: function(text) { if (text == "success"){ formSuccess(); } } }); }
您需要获取输入的值,而不是输入本身.例如,如果您这样做:
var miValue = $("#first-name");
你得到的是dom元素,而不是价值.要获取该值,必须调用val函数:
var miValue = $("#first-name").val();
你的功能应该是这样的:
function submitForm() { var firstName = $("#first-name").val(); //Call the val() function var lastName = $("#last-name").val(); var email = $("#email").val(); var phone = $("#phone").val(); var company = $("#company").val(); var contactType = $("#contact-type").val(); var message = $("#message").val(); $.ajax({ type: "POST", url: "php/main-contact-form.php", data: "firstName=" + firstName + "&lastName" + lastName + "&email" + email + "&phone" + phone + "&company" + company + "&contactType" + contactType + "&message" + message, success: function(text) { if (text == "success"){ formSuccess(); } } }); }
你可以在这里阅读更多关于val的信息:val()jQuery
好吧,我认为你的问题在这里:
function submitForm() { var firstName = $("#first-name"); var lastName = $("#last-name"); var email = $("#email"); var phone = $("#phone"); var company = $("#company"); var contactType = $("#contact-type"); var message = $("#message"); $.ajax({ type: "POST", url: "php/main-contact-form.php", data: "firstName=" + firstName + "&lastName" + lastName + "&email" + email + "&phone" + phone + "&company" + company + "&contactType" + contactType + "&message" + message, success: function(text) { if (text == "success"){ formSuccess(); } } }); }
您需要获取输入的值,而不是输入本身.例如,如果您这样做:
var miValue = $("#first-name");
你得到的是dom元素,而不是价值.要获取该值,必须调用val函数:
var miValue = $("#first-name").val();
你的功能应该是这样的:
function submitForm() { var firstName = $("#first-name").val(); //Call the val() function var lastName = $("#last-name").val(); var email = $("#email").val(); var phone = $("#phone").val(); var company = $("#company").val(); var contactType = $("#contact-type").val(); var message = $("#message").val(); $.ajax({ type: "POST", url: "php/main-contact-form.php", data: "firstName=" + firstName + "&lastName" + lastName + "&email" + email + "&phone" + phone + "&company" + company + "&contactType" + contactType + "&message" + message, success: function(text) { if (text == "success"){ formSuccess(); } } }); }
你可以在这里阅读更多关于val的信息:val()jQuery