現在の HTML スニペット:
<ul class="ShippingProviderList">
<li>
<label id="shippingMethod_500dae76abe48_0">
<input id="shippingCheck_500dae76abe48" type="radio" value="0" name="selectedShippingMethod[500dae76abe48]" />
<span class="ShipperName">My Own Shipping Account (Please make sure that account number is specified within your account page or item will not ship!)</span>
<em class="ShipperPrice ProductPrice">$0.00</em>
</label>
</li>
<li> 2nd option may or may not be here </li>
</ul>
現在の Javascript スニペット:
<script>
var radio = document.getElementById('shippingCheck_500d6aa9a300e'),
var input1 = document.getElementById('FormField_25'),
input2 = document.getElementById('FormField_26'),
btn = document.getElementById('ML20').getElementsByTagName('input')[0];
btn.onclick = function(e) {
if( radio.checked && input1.value.length >= 20 && input2.value.length >= 20 ) {
alert('Please provide a Shipping Account Number in either the Billing or Shipping sections in order to use your own Shipping Account.');
e.preventDefault(); // we all stop the submit from happening.
e.stopPropagation();
return false;
}
// otherwise do something or nothing and let the submit happen.
};
</script>
問題は、500d の配送小切手がランダムに生成されることであり、私はそれを制御できません。My Own Shippingという用語が含まれるスパンクラス「ShipperName」を使用して適切なデータをプルするようにJavascriptを調整し、その前に入力フィールドをプルすることは可能ですか? または、私が見逃しているこれを行うためのより良い方法はありますか? ID、クラスを割り当てたり、そこに生成された実際の html を変更したりすることはできません。