如何在表单中提交值后显示框

时间:2013-11-21 12:26:40

标签: javascript php html forms function

所以我有弹出窗口,用户需要输入名称,点击提交按钮后关闭此窗口。

您可以在此处测试:http://eurokos.lt/under20/button.php(点击21按钮,然后尝试输入任何值,看看会发生什么)

对于这个弹出框,我使用了函数:

function popUp() {
    document.getElementById('light').style.display='block';
    document.getElementById('fade').style.display='block';
}

此功能用于关闭窗口的X按钮:

function closeWindow() {
    document.getElementById('light').style.display='none';
    document.getElementById('fade').style.display='none';
}

我打开弹出窗口的按钮如下所示:

Echo "<input type='button' onclick='popUp();' value='".$i."' />";

这是PHP_SELF和形式:

<?php
if(isset($_POST['submit'])) 
{ 
    $name = $_POST['name'];
    echo "</br>You have entered: <b> $name </b>";

}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
   <input type="text" name="name"><br>
   <input type="submit" name="submit" value="Submit Form"><br>
</form>

`

我需要做什么,发布结​​果输入和窗口未关闭? 也许我需要在提交时再次使用popUp()函数?但是如何正确地做到这一点?谢谢。

2 个答案:

答案 0 :(得分:0)

试试这个:

HTML:

<form method="post" action="" onsubmit="return display()">
<div id="answer"></div>
<input type="text" name="name" id="name"><br>
<input type="submit" name="submit" value="Submit Form"><br>
</form>

的javascript:

function display(){
 var ans    =   document.getElementById("name").value
 document.getElementById("answer").innerHTML="You have entered:"+ans;
 return false;
}

更新

 function popUp(){
 document.getElementById("answer").innerHTML=""; //Add these in your popup function
 document.getElementById("name").value="";
 }

答案 1 :(得分:0)

首先,我建议你在人们可以操纵的行动中避免使用PHP_SELF,但这并不好。

在页面顶部尝试:

<?php
 $thispage = $_SERVER['PHP_SELF'];
?>
<html>
.
.
.
 <form method="post" action="<?=$thispage?>">
   <input type="text" name="name"><br>
   <input type="submit" name="submit" value="Submit Form"><br>
 </form>
</html>

然后,使用将数据发送到PHP的操作,将重新加载页面,因此您可能会丢失所有内联修复程序。 尝试在提交后获取输入值,将它们分配给varibles并执行,例如:

xmlhttp.open("POST","<?=$thispage?>",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("name=name");

通过异步调用,您不会重新加载页面,也不会丢失更改