在表格后留在同一页面

时间:2013-03-06 14:54:47

标签: php forms action

当您点击发送弹出窗口时,会显示是否已成功发送。这就是我想发生的事情,但是当时弹出窗口出现并且在用户按下的窗口中发送它进入动作调用的php页面,我如何阻止该窗口进入php页面而且只是出现一个弹出窗口?

表单代码:

<form method="post" class="contact-form" action="php/callback.php" >
                <input name="name" type="text" id="formbox" value="Name" onfocus="(this.value == 'Name') && (this.value = '')" onblur="(this.value == '') && (this.value = 'Name')"/><br />
                <input name="number" type="text" id="formbox" value="Number" onfocus="(this.value == 'Number') && (this.value = '')" onblur="(this.value == '') && (this.value = 'Number')"/><br />
                <input type="submit" value="Send" id="formbutton">
    </form>

php代码:

<?php

$name = $_POST['name'];
$number = $_POST['number'];

$to = "email@email.co.uk";
$subject = "Call Back Enquiry";
$message = "Hi Raymond, someone that came to your website wants you to call them back, their name is '$name' and their number is '$number'";
$from = "Your Website";
$headers = "From:" . $from;
$send_contact = mail($to,$subject,$message,$headers);

if($send_contact){
echo "<script>alert('We will contact you shortly');</script>";
}
else {
echo "<script>alert('Something went wrong, try again!');</script>";
}
?>

2 个答案:

答案 0 :(得分:1)

将jQuery与AJAX结合使用,创建不涉及POST到其他页面的无缝表单。

可以使用jQuery UI或Bootstrap等UI框架创建比alert()更加用户友好的弹出窗口。

答案 1 :(得分:0)

我会通过普通按钮来做到这一点,即。 <input type="button" />没有submit,没有表格。在onclick我打开一个新窗口(弹出窗口拦截器怎么样?),里面有窗体,在同一个事件过程中我发送(仍然是Javascript)我的字段的值,例如。 win.getElementById[someControlName].value=document.getElementById(sourceControlName).valuewin是新窗口的变量,而document是开窗器的窗口。然后,如果我准备好了,仍然在同一事件中,我会拨打win.forms[0].submit()

我没有测试过它,也许是一些错误,但主要想法是明确的,我希望。