点击表单上的更改内容按钮

时间:2013-07-09 14:09:05

标签: php forms button confirm

我有一个联系表格供人们填写,如果他们想联系我。 php页面执行将内容发送到我的电子邮件地址的操作。

2个问题:

  1. 我希望确认按钮的内容更改为:“MESSAGE SEND!”当有人点击按钮时。但我希望它在3秒后恢复原状状态。

  2. 当您单击按钮时,它会在我的浏览器中加载php页面!那不是我想要的。我只想让按钮给我发电子邮件,而不是去另一页。

  3. 希望你能帮忙!

3 个答案:

答案 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);
?>