2012-06-26 3 views
1

Я пытаюсь написать код, который после сброса установил rrpmax как 3000. Это нормально с IE, но не работает в Firefox и Chrome.Сбросить форму до определенного значения

<html> 
<head> 
<script type="text/javascript"> 
function formReset() 
{ 
var fields = document.getElementsByTagName("input"); 
for (i = 0; i < fields.length; i++) 
{ 
if (fields[ i ].type == "checkbox") 
fields[ i ].checked = false; 
} 
document.getElementById('rrpmax').selectedIndex = 3; 
} 
</script> 
</head> 
<body> 
<input type="button" value="reset" onclick="formReset()"/> 
<input type="checkbox" /> 
<input type="checkbox" /> 
<input type="checkbox" /> 
<select id="rrpmax"> 
<option>1000</option> 
<option>2000</option> 
<option>3000</option> 
</select> 
</body> 
</html> 

ответ

0

Как просто использовать предоставленную функциональность форм reset?
(без использования какого-либо Javascript)

<form> 
    <input type="reset" value="reset"/> 
    <input type="checkbox" /> 
    <input type="checkbox" /> 
    <input type="checkbox" /> 
    <select id="rrpmax"> 
     <option>1000</option> 
     <option>2000</option> 
     <option selected>3000</option> 
    </select> 
</form> 

Демонстрации наhttp://jsfiddle.net/P6RR6/

+0

Вы больше не можете использовать атрибуты без значений. Правильный способ использования 'selected':' '. Это намного более кросс-браузерный готовый – avall

+0

@avall, любая ссылка для этого? потому что спецификации html5 говорят иначе. http://www.w3.org/TR/html-markup/option.html –

+0

Разметка XHTML должна быть совместимой с XML, что означает, что каждый аргумент должен иметь значение. Не все используют HTML5. – avall

0

Попробуйте дать значения в параметры

<select id="rrpmax"> 
    <option value="1000">1000</option> 
    <option value="2000">2000</option> 
    <option value="3000">3000</option> 
</select> 

И для редактирования в Аттрибут значение из выбора

document.getElementById('rrpmax').value = 3000; 
+0

Это не изменяет значение * * атрибут, он устанавливает DOM * значение * свойство. Только в HTML5 есть атрибуты и свойства, необходимые для отражения значений друг друга (многие браузеры этого не делают). – RobG

1

это общая ошибка

1) сначала индекс начинается с нуля, вы должны указывать index 2

2) вторая для совместимости браузеров и в случае забыл надлежащее использование в JavaScript использования в качестве настройки имени выбора и значение

<select name="rrpmax" id="rrpmax"> 
<option value="1000">1000</option> 
<option value="2000">2000</option> 
<option value="3000">3000</option> 
</select> 

3) Вы можете использовать

document.getElementById('rrpmax').value='3000'; 
Смежные вопросы