在PHP脚本中为联系人表单初始化javascript
initialize javascript in php script for a contact form
大家好,正在制作一个简单的联系人表单。
<form action="mail.php" method="POST">
<input type="text" id="name" name="name" placeholder="Name" required><br />
<input type="text" id="email" name="email" placeholder="Mail" required><br />
<textarea name="message" placeholder="Nachricht" required></textarea><br />
<button name="submit" type="submit" id="submit">send</button>
</form>
使用一个简单的PHP邮件发送器
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent="Von: $name 'n Nachricht: $message" ;
$recipient = "mail@mail.com";
$subject = "$betreff";
$mailheader = "Von: $email 'r'n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You!" //need to be removed;
?>
我使用一个简单的javascript将按钮更改为'send '
var send = document.getElementById('submit');
if(send) {
send.onclick = function () {
this.innerHTML = 'sending';
}
}
是否有可能改变按钮innerhtml的sent
后,php脚本成功完成?另外,如何避免重定向到mail.php?
首先它应该显示send
。点击后会出现sending
,当mail.php不存在时,sent
会出现在按钮中
有什么想法或建议吗?
致以最亲切的问候dennym
编辑:通过jquery ajax提交联系人表单的进一步进展和解决错误
是否可以改变按钮innerhtml发送后的php脚本是否成功完成?
如果您重新加载相同的模板,您可以将按钮呈现为sent
。您必须在后端跟踪表单的状态。您可以使用ajax将表单更改为通过javascript提交。收到成功的响应后,您可以更改innerHTML。
我怎样才能避免重定向到mail.php?
不要提交表单。使用javascript收集值并发出ajax请求
您应该使用XHR (AJAX)请求。
比起在示例中编写普通的javascript,使用javascript框架(如jQuery)可以更快。
像这样的代码应该可以达到这个效果:
$('form#formId').submit(function(){
//set submit label to sending
$('form#formId #submit').html('sending');
$.post('mail.php', function(){
//set submit label to sent
$('form#formId #submit').html('sent');
});
//returning false to prevent native submission of form.
return false;
});
你需要给你的表单一个ID属性,以便你可以有选择地选择它
相关文章:
- Ajax发布表单序列化,发布引号'
- jquery数据表在初始化时设置宽度
- 表单序列化正在发送数据
- Ajax数据表单序列化防止双重提交
- 在 jquery 表单序列化变量中设置 jquery 延迟
- Ajax 将关联数组与表单序列化相结合
- 在数据表中初始化(初始化完成)后禁用排序列
- Jquery 表单序列化不适用于 Scala Play Framework 2.2 的 facebox
- 如何在使用 jQuery 创建表后初始化数据表.js加载函数
- 表单序列化与 ajax post
- 数据在数据表的初始化中消失
- 表单序列化问题
- 通过ajaxsetup发布带有附加参数的表单序列化数据
- 为什么表单序列化在这种情况下不起作用
- ExtJS-复杂的表单序列化
- 在模态表上初始化数据表时出现Ajax错误
- 如何使用表单初始化JavaScript
- jQuery表单序列化有bug,并且不一致
- 新手:检查表单初始化时是否选中了单选按钮.这个代码是什么意思
- 在PHP脚本中为联系人表单初始化javascript