使用 jQuery 对话框将表单发送到 php 脚本
Sending a form to a php script using jQuery dialog
我正在尝试使用当用户单击"提交"按钮时通过jquery对话框发送的php脚本发送电子邮件,但我无法使此脚本正常工作。我有html中的对话框:
<div id="join-dialog" class="join-dialog">
<p>Please fill in your details to join the mailing list</p>
<table>
<form action="" method="post">
<tr><td><label for="name">NAME</label></td><td><input id='form-name' type="text" name="name"/></td></tr>
<tr><td><label for="email">EMAIL</label></td><td><input id='form-email' type="email" name="email"/></td></tr>
<tr><td><label for="email">POSTCODE</label></td><td><input id='form-post' type="text" name="postcode"/></td></tr>
</form>
</table>
</div>
我有这个jQuery:
$(function() {
function addUser(){
var name = document.getElementById("#form-name");
var email = document.getElementById('#form-email');
var post = document.getElementById('#form-post');
if(name !==0 || email!==0 || post!==0){
$.ajax({
url: 'sendemail.php',
type: 'POST',
data: ('name, email, post'),
success: function(){
document.getElementById('#join-dialog').innerHTML("<h2>Thank you for joining the mailing list</h2>");
}
});
}else{
document.getElementById('#join-dialog').append = "There was an error with your form details";
}
};
$( ".join-dialog" ).dialog({
dialogClass: "no-close",
autoOpen: false,
show: {
effect: "fade",
duration: 300
},
hide: {
effect: "fade",
duration: 300
},
modal: true,
buttons:{
'SUBMIT': addUser,
'CLOSE': function(){
$(this).dialog('close');
}
}
});
$( "#open1" ).click(function() {
$( ".join-dialog" ).dialog( "open" );
});
});
它添加对话框按钮并执行代码,以便使用 sendemail 发送电子邮件.php如下所示:
<?php
$name= $_POST['name'];
$postcode = $_POST['post'];
$email = $_POST['email'];
$email_to = 'xyz123@hotmail.com';
$email_subject = 'New mailing list subscriber';
$email_message = "Your new subscriber is: ".$name."'n"."Postcode: ".$postcode."'n"."Email: ".$email."'n";
mail($email_to, $email_subject, $email_message);
echo '<p style=''font-size: 16px;''>You have been added to Kaylee''s mailing list!</p>';
echo '<br />';
echo '<br />';
?>
似乎有一个问题,我无法弄清楚它是什么,如果有人能指出我正确的方向,那将非常感谢。
你的 html 和 css 看起来不错,但 js 有一些错误,它可能仍然有一些:
function addUser() {
var name = $("#form-name").val(),
email = $('#form-email').val(),
post = $('#form-post').val();
if (name !== 0 || email !==0 || post !== 0) {
$.ajax({
url: 'sendemail.php',
type: 'post',
data: {
'name': name,
'email': email,
'post': post
},
success: function() {
$('#join-dialog').html("<h2>Thank you for joining the mailing list</h2>");
}
});
} else {
$('#join-dialog').append("There was an error with your form details");
}
}
$( ".join-dialog" ).dialog({
'dialogClass': "no-close",
'autoOpen': false,
'show': {
'effect': "fade",
'duration': 300
},
'hide': {
'effect': "fade",
'duration': 300
},
'modal': true,
'buttons': {
'submit': addUser,
'close': function() {
$(this).dialog('close');
}
}
});
$( "#open1" ).click(function() {
$( ".join-dialog" ).dialog("open");
});
相关文章:
- php脚本中无法识别ajax传递的值
- 使用JS在服务器上运行PHP脚本
- Jquery:对返回JSON数据的php脚本的Ajax调用
- 使用php脚本验证访问者的年龄,并在不刷新的情况下根据结果加载iframe
- jQuery DataTable返回带有数据的PHP脚本
- 通过JavaScript设置的表单字段的值不会作为$_POST的一部分传递给PHP脚本
- 单击Dojo按钮执行PHP脚本
- 将javascript函数传递给.php脚本
- 使用Ajax或JavaScript选择下拉列表选项后,在同一页面上执行PHP脚本
- AJAX和php脚本后添加的表单元素未传输到$_POST
- jquery ajax到php脚本不保存数据
- 有没有一种方法可以生成Braintree令牌,而不必向我的服务器添加PHP脚本
- 如何使用jQuery将所选文件传递到php脚本
- PHP脚本在Lion上通过Ajax运行时会回显自己的内容
- Codeigniter :通过 AJAX 调用 php 脚本时路由不起作用
- 使用 jQuery 从运行 MySQL 的 PHP 脚本返回信息
- 我将如何在将数据发布到 php 脚本的 javascript 脚本中输入变量
- 在 ajax 成功中触发 php 脚本
- 使用同一页面上的按钮访问 php 脚本
- 从 PHP 脚本预缓存第二个图像