JavaScript достъп до елемент на форма
4 отговора
225 прегледа
JavaScript достъп до елемент на форма
Здравейте,
имам малък но досаден проблем с JavaScripta:
в кода на страницата имам форма
в която имам инпут полета именувани name="propertyName[0]",name="propertyName[1]",...
в една функция трябва да обходя тези полета, но нещо не се получава:
document.forms[0].propertyName[0] e 'undefined', заради "[" и "]" в името.
Има ли начин да се достигне до тези полета без да се преименуват?????
имам малък но досаден проблем с JavaScripta:
в кода на страницата имам форма
в която имам инпут полета именувани name="propertyName[0]",name="propertyName[1]",...
в една функция трябва да обходя тези полета, но нещо не се получава:
document.forms[0].propertyName[0] e 'undefined', заради "[" и "]" в името.
Има ли начин да се достигне до тези полета без да се преименуват?????
Re: JavaScript достъп до елемент на форма
И какво точно трябва да им обходиш?? Дай да видим таз финкция. Не е толкоз тайна, нали?
Re: JavaScript достъп до елемент на форма
/***********************************
Simply iterate Form.elements[]
colection.
Enjoy!
***********************************/
function iterateFormItems(formObj)
{
// May be this is not Form object . We will
// check ..
if(formObj.tagName != "FORM") return;
for(j=0;j<formObj.length;j++)
formObj.elements[j].name+="somenew";
}
Чрез...
...
document.forms[index]/form name.elements[index]
или в твоя случай, за name="propertyName[0]" (ако приемем че той е N-тия елемент на формата) това би било
document.forms[0].elements[N-1]
Така както си го написал
document.forms[0].propertyName[0]
браузъра си мисли че
1. или имаш втора форма propertyName която е подформа на първата т.е.
<form name="The_name_of_the_first_form">
<form name="propertyName">
<input name="The_name_of_the_first_input_in _the_second_form">
</form>
</form>
2. или че във формата имаш radio button с име propertyName
<form name="The_name_of_the_form">
<input type="radio" name="propertyName" value="some value 1" />
<input type="radio" name="propertyName" value="some value 2" />
<input type="radio" name="propertyName" value="some value 3" />
</form>
и тъй като не може да намери нито едното нито другото и затова ти съобщава "document.forms[0].propertyName[0] is undefined".
document.forms[index]/form name.elements[index]
или в твоя случай, за name="propertyName[0]" (ако приемем че той е N-тия елемент на формата) това би било
document.forms[0].elements[N-1]
Така както си го написал
document.forms[0].propertyName[0]
браузъра си мисли че
1. или имаш втора форма propertyName която е подформа на първата т.е.
<form name="The_name_of_the_first_form">
<form name="propertyName">
<input name="The_name_of_the_first_input_in _the_second_form">
</form>
</form>
2. или че във формата имаш radio button с име propertyName
<form name="The_name_of_the_form">
<input type="radio" name="propertyName" value="some value 1" />
<input type="radio" name="propertyName" value="some value 2" />
<input type="radio" name="propertyName" value="some value 3" />
</form>
и тъй като не може да намери нито едното нито другото и затова ти съобщава "document.forms[0].propertyName[0] is undefined".
Редактирано от Бopиc на
10ь
Мерси за отговорите.
Реши се проблема чрез: document.forms.myForm.elements['somePropertyName[0]'];

Реши се проблема чрез: document.forms.myForm.elements['somePropertyName[0]'];