提交html表单时,请勿打开新页面,而是显示弹出窗口

时间:2019-04-25 09:09:34

标签: html ajax

我有一个带有提交按钮的表格。当我单击此按钮时,我不想重定向到 action =“” 中列出的页面connection.php。但是,我要让它只显示显示成功或不成功的弹出窗口,并让connection2.php在后台执行操作。

HTML:

<form action="connection2.php" method="post">
                            <input type="date" name="date" placeholder="Name" required="">  
                            <input type="submit" name="submit" id="submit" class="strelka-send" value="Insert">
                            <div class="clear"> </div>
                        </form>

CONNECTION2.PHP:

<?php   
# Connection
$servername = ""; 
$connectionInfo = array(
"Database"=>"", 
"UID"=>"", 
"PWD"=>""
);
$conn = sqlsrv_connect($servername, $connectionInfo);
if( $conn === false ) {
    echo "Error (sqlsrv_connect): ".print_r(sqlsrv_errors(), true);
    exit;
}

# Parameters
$Date = $_POST['date'];


$params = array 
(&$Date);

# Statement
$sql = "INSERT INTO table([Date]) VALUES 
(?)";
$stmt = sqlsrv_prepare($conn, $sql, $params);
if ($stmt === false) {
echo "Error (sqlsrv_prepare): ".print_r(sqlsrv_errors(), true);
exit;
}
if (sqlsrv_execute($stmt)) {
echo "Statement executed.\n";
} else {
echo "Error (sqlsrv_execute): ".print_r(sqlsrv_errors(), true);
}

# End
sqlsrv_free_stmt($stmt);
sqlsrv_close($conn);
?>
<!DOCTYPE html>
<html>
<body>
<br>
<h1>SUCCESS</h1>
<script>
setInterval(function(){ 
window.location.href="link_to_index.html" }, 5000);
</script>
</body>
</html>

到目前为止,我已经在页面connection2.php上设置了计时器,该页面在提交表单后打开,然后返回上一页。但这不是最好的解决方案。

2 个答案:

答案 0 :(得分:1)

如果您不希望在表单提交中重定向,则必须使用AJAX技术,例如JQUERY 看看Submitting HTML form using Jquery AJAX

答案 1 :(得分:0)

使用此代码将表单提交到弹出窗口中。

此代码在提交表单后将其提交到弹出窗口。

<form action="connection2.php" method="post" target="popupwindow" onsubmit="window.open('connection2.php', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true">

    <input type="date" name="date" placeholder="Name" required="">  
    <input type="submit" name="submit" id="submit" class="strelka-send" value="Insert">

</form>

我尚未测试此代码。

但是希望这对您有用。