Php 重置“返回表单”按钮
我在网上搜索过,但找不到任何解决方案。 当我点击“samplepage.php”上的“提交”按钮时,我将页面重定向到“newpage.php”页面。我想在用户单击浏览器的后退按钮时重置“samplepage.php”表单值。现在它保留了所有文本框值、单选按钮和复选框选择。如果有什么建议,请告诉我好吗?谢谢你的帮助 这是我的重定向php代码Php 重置“返回表单”按钮,php,javascript,jquery,Php,Javascript,Jquery,我在网上搜索过,但找不到任何解决方案。 当我点击“samplepage.php”上的“提交”按钮时,我将页面重定向到“newpage.php”页面。我想在用户单击浏览器的后退按钮时重置“samplepage.php”表单值。现在它保留了所有文本框值、单选按钮和复选框选择。如果有什么建议,请告诉我好吗?谢谢你的帮助 这是我的重定向php代码 header ("location:newpage.php); 无法使用服务器端代码查看浏览器的“后退”按钮 您需要对“popstate”和“pushs
header ("location:newpage.php);
无法使用服务器端代码查看浏览器的“后退”按钮
您需要对“popstate”和“pushstate”领域略知一二的Javascript和jQuery清除页面加载上的值
<input type="text" id="ClearIt" value=""/>
这与浏览器有关
您可以在最后一刻(提交前)清空输入,并将值放在一些隐藏字段中…如果确实要这样做,您必须在页面加载时清除它。如果有多个控件,则需要在窗体中循环以清除它。假设它们都是物品
var elems = document.getElementsByTagName("input")
for (var i=0;i<elems.length;i++)
{
elems[i].value = '';
}
var elems=document.getElementsByTagName(“输入”)
对于(var i=0;i您忘记了死()
您还可以尝试重置$\u POST、$\u GET和$\u会话变量
unset($_POST,$_SESSION, $_GET);
header ("location:newpage.php);
die();
更新:只需阅读您试图取消设置的内容即可
在历史上,我没有意识到这一点
以上代码
您必须编写一些标记代码来清除
与输入字段和选择关联的变量
表格的列表
随便吧
function clearForm(formIdent)
{
var form, elements, i, elm;
form = document.getElementById
? document.getElementById(formIdent)
: document.forms[formIdent];
if (document.getElementsByTagName)
{
elements = form.getElementsByTagName('input');
for( i=0, elm; elm=elements.item(i++); )
{
if (elm.getAttribute('type') == "text")
{
elm.value = '';
}
}
elements = form.getElementsByTagName('select');
for( i=0, elm; elm=elements.item(i++); )
{
elm.options.selectedIndex=0;
}
}
// Actually looking through more elements here
// but the result is the same.
else
{
elements = form.elements;
for( i=0, elm; elm=elements[i++]; )
{
if (elm.type == "text")
{
elm.value ='';
}
}
}
}
function addEvent(elm, strEvent, fnHandler)
{
return ( elm.addEventListener
? elm.addEventListener( strEvent, fnHandler, false)
: elm.attachEvent( 'on'+strEvent, fnHandler)
);
}
以表格Div
<script type="text/javascript">
// <![CDATA[
var el = document.createElement("input");
el.setAttribute("id", "clearButton");
el.setAttribute("type", "button");
el.setAttribute("value", "Clear");
document.getElementById("FormDiv").appendChild(el);
addEvent(el, 'click', function(){ clearForm('form_name');} );
// ]]>
</script>
//
或者,您也可以使用HTML事件“onunload”执行与海报之前建议的相同的操作。从您的角度来看,启动事件时可能并不重要。您使用什么web浏览器进行测试?您可以使用表单的重置()<代码> OnLoad 事件……我必须支持所有的浏览器。jQuice不是必须的。//它不是“必需的”,但是随着OP对客户端代码的明显理解,您不推荐一个库,也许是一个PultFube?也许,而不是为4行解决方案提供90K库,我们应该考虑T。人们有思考的能力;如果他们在这里接受代码而不想了解它是如何工作的,那么他们的起点就错了。如果你说的是真的,而不是他们可以使用库,那意味着他们意识到了重量……你不能告诉我你从未使用过你没有完全掌握的代码……如果你声称,你满脑子都是。我是一家信用卡处理公司的开发人员……如果我不了解它是如何工作的,它会破坏坏事情的发生。所以,不,我不会实施我不了解的事情。
function clearForm(formIdent)
{
var form, elements, i, elm;
form = document.getElementById
? document.getElementById(formIdent)
: document.forms[formIdent];
if (document.getElementsByTagName)
{
elements = form.getElementsByTagName('input');
for( i=0, elm; elm=elements.item(i++); )
{
if (elm.getAttribute('type') == "text")
{
elm.value = '';
}
}
elements = form.getElementsByTagName('select');
for( i=0, elm; elm=elements.item(i++); )
{
elm.options.selectedIndex=0;
}
}
// Actually looking through more elements here
// but the result is the same.
else
{
elements = form.elements;
for( i=0, elm; elm=elements[i++]; )
{
if (elm.type == "text")
{
elm.value ='';
}
}
}
}
function addEvent(elm, strEvent, fnHandler)
{
return ( elm.addEventListener
? elm.addEventListener( strEvent, fnHandler, false)
: elm.attachEvent( 'on'+strEvent, fnHandler)
);
}
<script type="text/javascript">
// <![CDATA[
var el = document.createElement("input");
el.setAttribute("id", "clearButton");
el.setAttribute("type", "button");
el.setAttribute("value", "Clear");
document.getElementById("FormDiv").appendChild(el);
addEvent(el, 'click', function(){ clearForm('form_name');} );
// ]]>
</script>