所以我有弹出窗口,用户需要输入名称,点击提交按钮后关闭此窗口。
您可以在此处测试: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()函数?但是如何正确地做到这一点?谢谢。
答案 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");
通过异步调用,您不会重新加载页面,也不会丢失更改