請教一下,要如何寫一個javascript(就是可以貼在網址就自動執行的程式碼)
今天有一個網頁,總共有5大區,共20個區塊。
第一區是 ch1X (ch11~ch15)
第二區是 ch2X (ch21~ch24)
第三區是 ch3X (ch31~ch36)
第四區是 ch4X (ch41~ch42)
第五區是 ch5X (ch51~ch53)
每一個chXX皆是一組Radio box單選的元件,有值1~7,共7個選項。
請問我要如何寫一個javascript去執行打勾特定數值?
假設我要全部勾選數值為7的呢?
假設你說的這個網頁,每個 chXX 都是一個 <form> 所包起來的,如下所示:
<pre class="c" name="code">
<form name="ch11">
<input type="radio" name="r11" value="1">1<br>
<input type="radio" name="r11" value="2">2<br>
<input type="radio" name="r11" value="3">3<br>
<input type="radio" name="r11" value="4">4<br>
<input type="radio" name="r11" value="5">5<br>
<input type="radio" name="r11" value="6">6<br>
<input type="radio" name="r11" value="7">7<br>
</form>
<form name="ch12">
<input type="radio" name="r12" value="1">1<br>
<input type="radio" name="r12" value="2">2<br>
<input type="radio" name="r12" value="3">3<br>
<input type="radio" name="r12" value="4">4<br>
<input type="radio" name="r12" value="5">5<br>
<input type="radio" name="r12" value="6">6<br>
<input type="radio" name="r12" value="7">7<br>
</form>
<!-- 底下依此類推直到 ch53 -->
那麼你只需在網址列打這行:
<pre class="c" name="code">javascript:for(i=document.forms.length-1;i>=0;i--)document.forms[i].elements[6].checked=true;void(0);
則所有的 chXX 的第7項就會被選取了。
不管 chXX 有幾個都有效。如果你要改為選第 1 個,就把 elements[6] 改為 elements[0] 即可。
<pre class="c" name="code"><td style="width : 29%" class="test">1-1<br>
<input id="ch117" type="radio" name="ch11" value="7" /><label for="ch117">7</label>
<input id="ch116" type="radio" name="ch11" value="6" /><label for="ch116">6</label>
<input id="ch115" type="radio" name="ch11" value="5" /><label for="ch115">5</label>
<input id="ch114" type="radio" name="ch11" value="4" /><label for="ch114">4</label>
<input id="ch113" type="radio" name="ch11" value="3" /><label for="ch113">3</label>
<input id="ch112" type="radio" name="ch11" value="2" /><label for="ch112">2</label>
<input id="ch111" type="radio" name="ch11" value="1" /><label for="ch111">1</label>
</td>
7 在第一項,你不會是還在等我貼答案吧?
(其實...我也想看答案...)
俺再等美女圖(樓歪了
chingfeng提到:
俺再等美女圖
MIS 網路又掛了 快點維修
因為執行後只有1-1會被打勾,其他的不會有反應
有句俗話叫『舉一反三』。
你發問問題,既沒說這是哪裡的網頁,也沒說它的 html 結構,回答者只好自己《假設》一個情形,並給出一個《如果是這種情形》的答案。意思就是請你自行視情形改寫,而不是把假設答案直接套在你的真實情況上,然後說,它就只有一個會打勾 ...
這就是答案
<pre class="c" name="code">javascript:for(i=(x=document.getElementsByTagName('input')).length-1;i>=0;i--)if(x[i].type=='radio' && x[i].value==7)x[i].checked=true;void(0);