2013-09-29 50 views
0

我有一个表单,它将用户电子邮件发送给我,表单发送到发送电子邮件的.php文件,并在成功时执行:window.history 。背部();。哪些工作正常,它会回到他们所在的位置。除了他们输入表格的信息仍然存在。如何在页面加载时将输入删除,或者在用户提交表单后立即删除,以便在他们返回时它将为空?如何在页面加载时清空输入字段WITH JAVASCRIPT

我发现了一些关于这样做的主题,但他们都使用jQuery,所以这个问题是问这是否可以做到没有jQuery。

+0

到这个日期我相信jQuery使用JavaScript。 – leon

+0

我不确定我是否关注你。你究竟做了什么,导致在我看来,做window.history.back();从PHP脚本,它不是要走的路。 – kbariotis

+0

如果你回去了,那么为什么不用阿贾克斯呢。 – Daniel

回答

2

我们可以使用普通的JavaScript来清空这些值。日常表单上的复位的<input>一个例子会是这样的:

var input = document.getElementById('my-input'); 

input.value = ''; 

在本fiddle可见;

+0

这正是我正在寻找的,但我无法找到一种方法来让它工作。我试图把它放到一个emptyField函数中,让这个函数发生onload,就像这样onload =“emptyField();”。但我不认为window.history.back();导致页面必须“加载”,因此它不起作用。 –

+1

'onload'属性是'window'对象的一个​​属性。你也只是想引用方法,而不是调用它。所以'window.onload = emptyField'。没有引号,没有括号。 – shennan

+0

这是另一个[小提琴](http://jsfiddle.net/J9NVx/1/) – shennan

2

如果您想重置所有输入字段的值。然后,这可以是一个解决方案:

<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript"> 
function resetValues() 
{ 
var x=document.getElementsByTagName("input"); 
for(i = 0; i<=x.length-1; i++)//x.length-1 i don't want to reset the value of the last button 
    { 
    if(x.item(i).type!="button") 
    x.item(i).value = ""; 
    } 
} 
</script> 
</head> 
<body onload="resetValues()"> 
<input type="text" id="name"><br> 
<input type="text" id="address"><br> 
<input type="text" id="country"><br><br> 
<input type="button" onclick="resetValues()" value="Reset values"> 
</body> 
</html> 

或者如果你想重置一些特定的输入字段。试试这个:

//In you resetValues() function, replace the code with this 
var x = document.getElementById("name");//your input element id 
var y = document.getElementById("address");//your input element id 
var z = document.getElementById("country");//your input element id 
x.value = ""; 
y.value = x. value; 
z.value = y.value; 

希望,这对你很好。

+0

这是一个更深入的答案,就像上面的答案一样,谢谢。但像上面那样,似乎有问题,因为window.history.back();实际上并没有激活onload。 –

相关问题