JS form array unset?

8 отговора 234 прегледа
#1

JS form array unset?

имам в една форма мултиселект, който е с име invites[], за да се предаде като масив...всичко е ок, но когато се опитам да unset-на, не се получава. Когато не е масив, става, но иначе ми вади грешка is not an object. Ето как го правя:

function clearSelect(forma, elementa) {
eval("document." + forma + "." + elementa + ".value=\"\"");

като извиквам функцията с параметри: името на формата и invites[]
Някаква идея как да се оправи това?...

Математиката се състои от очевидни неща подредени по подходящ начин.
Отговор
в отговор на Dakota #2

Re: JS form array unset?

purvo mnogo tochki ...i shto ti e eval()?
vij v tova kvi greshki stavat kato ima niakade neshto razlichno ot number
i kak bachka kato e samo +

<html><head><script>
function fnc(m){
var q1=document.f.t1.value
var q2=document.f.t2.value
if(m==0){
alert(eval(q1+q2))
}
else{
alert(q1+q2)
}
}
</script></head><body>
<form name="f">
<input type="text" name="t1" value="">
+

<input type="text" name="t2" value="">
</form>
<a href="#" onClick="fnc(0)">eval</a>
<a href="#" onClick="fnc(1)">only+</a>
</body>
</html>

Отговор
в отговор на R6 #3

Re: JS form array unset?

е това хубаво, но пак не е с масив...а при мен иначе си бачка...

Математиката се състои от очевидни неща подредени по подходящ начин.
Отговор
в отговор на Dakota #4

ето


<script>
function clearSel() {
var j=0;
var selArr = this.document.frm.test;
for(j=0;j<selArr.length;j++)
{
selArr[j].selected = false;
}
selArr.blur();
}
</script>
<body>
<form name=frm>
<SELECT NAME="test" MULTIPLE>
<option value=1>1
<option value=2>2
<option value=3>3
<option value=4>4
<option value=5>5
</select>
</form>
<a href="Javascript:clearSel()">Clear</a>

Не знам доколко ще работи за Нетскейп, щото ме мързи да пробвам.
Обаче можеш да unset-ваш самият масив с ..frm.alabala[j].value="";
примерно. Като понеже селектчето ти е с име блабла[]
в java script-та ще се обръщаш към него с
document.frm[0][j].value или document.frm[0][j].selected
и въобще надявам се вече ме разбра...

Ади успех

bofh
Отговор
в отговор на dune2 #5

пак

абе,
пак не е с масив името...иначе и с моя скрипт става...А като сложа масив за името на полето се дъни. Както и да е, ще парсвам някак си post values...

Математиката се състои от очевидни неща подредени по подходящ начин.
Отговор
в отговор на Dakota #6

малко lame, ама стана

function clearSelect() {
document.<?=$formname?>.elements[16].value="";
}

...обаче, ако взема че поразместя елементите на формата...мдам

Математиката се състои от очевидни неща подредени по подходящ начин.
Отговор
в отговор на Dakota #7

Сега разбра ли?????


<script>
function clearSel() {
var j=0;
var selArr = this.document.frm[0];
for(j=0;j<selArr.length;j++)
{
selArr[j].selected = false;
}
selArr.blur();
}
</script>
<body>
<form name=frm>
<SELECT NAME="test[]" MULTIPLE>
<option value=1>1
<option value=2>2
<option value=3>3
<option value=4>4
<option value=5>5
</select>
</form>
<a href="Javascript:clearSel()">Clear</a>

?!?!?!
абе тебе верно много те мързи
Отговор
в отговор на bofh #8

И пак ...


<script>
function clearSel() {
var j=0;
var selArr = this.document.frm[shit('test[]')];
for(j=0;j<selArr.length;j++)
{
selArr[j].selected = false;
}
selArr.blur();
alert(shit('test[]'));
}

function shit(strName) {
var _max_=document.frm.elements.length;
var j=0;

for(j=0;j<_max_;j++)
{
if(document.frm[j].name==strName) return j;
}

}
</script>
<body>
<form name=frm>
<input type=text name=lame>
<input type=text name=lame1>
<input type=text name=lame2>
<input type=text name=lame3>
<SELECT NAME="test[]" MULTIPLE>
<option value=1>1
<option value=2>2
<option value=3>3
<option value=4>4
<option value=5>5
</select>
</form>
<a href="Javascript:clearSel()">Clear</a>

Айде сега мести елементите ... ако искаш да ти го направя и по type и properties? ... че може да го кръстиш pena


bofh
Отговор
в отговор на bofh #9

е, ти се вживя много :)

абе,
не се вживявай толкова...мерси все пак :)

Математиката се състои от очевидни неща подредени по подходящ начин.
Отговор