我有一个联系表格供人们填写,如果他们想联系我。 php页面执行将内容发送到我的电子邮件地址的操作。
2个问题:
我希望确认按钮的内容更改为:“MESSAGE SEND!”当有人点击按钮时。但我希望它在3秒后恢复原状状态。
当您单击按钮时,它会在我的浏览器中加载php页面!那不是我想要的。我只想让按钮给我发电子邮件,而不是去另一页。
希望你能帮忙!
答案 0 :(得分:1)
试试这个
1
<input type="button" onclick="showLoad()" id="send" name="send" value="SEND"/>
<script>
function showLoad() {
document.getElementById('send').value="MESSAGE SEND!";
setTimeout(swap, 3000);
}
function swap() {
document.getElementById('send').value="SEND";
}
</script>
2
<form action="" method="post">
......
......
/*your html code*/
<input type="button" onclick="showLoad()" id="send" name="send" value="SEND"/>
</form>
<?php
if(isset($_post['send']))
{
/*your mail function*/
}
?>
答案 1 :(得分:0)
对于你的1个问题,你需要JavaScript来改变Button行为,对于你的2个问题只需从执行Action的PHP脚本中进行Header重定向
答案 2 :(得分:0)
首先,您将不得不使用Javascript和AJAX。为什么不使用像Jquery这样的javascript库?
假设您要使用它,代码就是这样。
HTML:
<form id="yourForm">
<label for="name">Name</label>
<input id="name" name="name" type="text" />
<input class="submitBtn" type="submit" value="OK"/>
</form>
使用Javascript:
$(document).ready(function(){
$('#yourForm').submit(function(event){
$('.submitBtn').attr('value','MESSAGE SEND');
setTimeout(function(){
$('.submitBtn').attr('value','OK');
}, 3000);
var stuff = $('#yourForm').serialize();
jQuery.ajax({
type: 'POST',
url: 'your_php_code.php',
data:{
'stuff':stuff,
}
,success: function( response ){
alert('OK');
}
});
//Prevents form submission
return false;
});
});
PHP
<?php
parse_str($_POST['stuff']);
mail("youremail@gmail.com", "subject", $name);
?>