js自动填充表单

网上的教程基本上全是通过用id来获取元素,但是遇到没有id的情况下基本就无效了,我遇到的情况就是没有id属性,只有name或class属性,这种情况最好使用万能方案,通过xpath来获取节点。

<form action="./" method="POST" class="contact">

<div class="fields">

<table>
<caption>ユーザー登録</caption>
<tbody>

<tr>
<th>ユーザー名</th>
<td><input type="text" name="name" value=""> <span class="supplement">2~20文字</span>
</td>
</tr>

<tr>
<th>ふりがな</th>
<td><input type="text" name="namef" value=""> <span class="supplement">2~20文字(ひらがなのみ)</span>
</td>
</tr>

<tr>
<th rowspan="2">パスワード</th>
<td><input type="password" name="pass" value=""> <span class="supplement">8~1000文字</span>
</td>
</tr>
<tr>
<td><input type="password" name="pass2" value=""> <span class="supplement">(同じ内容を入力して下さい)</span>
</td>
</tr>


<tr>
<th rowspan="2">メールアドレス</th>
<td><input type="email" name="mail" value="" class="btext"> <span class="supplement">~200文字</span>
</td>
</tr>
<tr>
<td><input type="email" name="mail2" value="" class="btext"> <span class="supplement">(同じ内容を入力して下さい)</span>
</td>
</tr>

<tr>
<td colspan="3">
登録前に必ず「<a href="https://syosetu.org/rule.html">利用規約</a>」をご確認下さい。
<br><span class="alert_color">複数アカウントの所持は禁止事項のため、処分対象となります。</span>
<br>登録後、認証用メールがadmin@syosetu.orgから送信されます。認証用メールに記載のURLにアクセスすることで、登録が完了します。
<br>※認証用メールは迷惑メールフォルダに分類されてしまう可能性があります。
<br><span class="alert_color">認証用メールが届かない場合は、「<a href="./?mode=pass_seikyu">こちら</a>」で登録した際のメールアドレスを入力すると認証用のURLが送信されます。</span>
</td></tr>
<tr>
<td colspan="3">
<p class="button">
<input type="submit" value="ユーザー登録">
</p>
</td></tr>
</tbody>
</table>
</div>

<input type="hidden" name="mode" value="entry_end">
</form>

通过 document.evaluate('...', document).iterateNext() 方法可以用 xpath 路径定位到元素节点。 

document.evaluate('//*[@id="main"]/div/form/div/table/tbody/tr[1]/td/input',document).iterateNext().value="xxx"

document.evaluate('//*[@id="main"]/div/form/div/table/tbody/tr[2]/td/input',document).iterateNext().value="xxx"

document.evaluate('//*[@id="main"]/div/form/div/table/tbody/tr[3]/td/input',document).iterateNext().value="xxx"

document.evaluate('//*[@id="main"]/div/form/div/table/tbody/tr[4]/td/input',document).iterateNext().value="xxx"

document.evaluate('//*[@id="main"]/div/form/div/table/tbody/tr[5]/td/input',document).iterateNext().value="xxx"

为了方便使用,可以保存成书签的形式:

javascript:(function(){··········js代码·········})()

javascript:(function(){document.evaluate('//*[@id="main"]/div/form/div/table/tbody/tr[1]/td/input',document).iterateNext().value="姬";document.evaluate('//*[@id="main"]/div/form/div/table/tbody/tr[3]/td/input',document).iterateNext().value="88888888";document.evaluate('//*})()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值