2013-09-29 3 views
0

У меня есть форма, которая отправляет мне электронное письмо электронной почты, это форма, которая отправляется в файл .php, который отправляет письмо, и при успешном выполнении: window.history .Задняя() ;. Который работает отлично, он возвращается прямо туда, где они были. ЗА ИСКЛЮЧЕНИЕМ информации, которую они ввели в форму, все еще существует. Как я могу удалить этот вход, когда страница загружается или может быть удалена сразу после того, как пользователь отправит форму, чтобы она была пустой, когда они вернутся?Как заполнить поля ввода при загрузке страницы С JAVASCRIPT

Я нашел несколько тем об этом, но все они использовали jQuery, поэтому этот вопрос спрашивает, можно ли это сделать БЕЗ jQuery.

+0

К этой дате я полагал, что jQuery используется javascript. – leon

+0

Я не уверен, что следую за тобой. Что именно вы делаете, потому что мне кажется, что делает window.history.back(); из скрипта PHP это не путь. – kbariotis

+0

Если вы вернетесь и все такое, почему бы вам не использовать ajax. – Daniel

ответ

2

Мы можем использовать простой JavaScript, чтобы просто удалить значения. Пример сбросе <input> на повседневной форме будет идти-то вроде этого:

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

input.value = ''; 

Как видно в этом fiddle;

+0

Это именно то, что я ищу, но я не могу найти способ заставить это работать. Я попытался поместить это в функцию emptyField, и эта функция возникла при загрузке, например, 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. –

Смежные вопросы