我的网页上有一个Paypal按钮,其中包含以下生成的代码:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top" class="center-align" id="paypal">
<input type="hidden" name="cmd" value="_s-xclick" >
<input type="hidden" name="hosted_button_id" value="XMMPHFAWFLLRG">
<input type="image" src="https://www.paypalobjects.com/de_DE/DE/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="Jetzt einfach, schnell und sicher online bezahlen – mit PayPal." ">
<img alt=""
通过单击“立即购买”徽标,JS应检查是否已选择选项。我正在使用Materialize Framework,那就是选择字段:
<select>
<option value="0" disabled selected>Kategorie</option>
<option value="1">Beauty</option>
<option value="2">Technik</option>
<option value="3">Deko</option>
</select>
因此没有ID或类名,这是页面上的唯一选择。
我尝试过的Javascript如下:
function isSelected() {
if (getElementsByTagName("select").value == '0') {
alert("Bitte eine Kategorie auswählen!");
}
}
你们如何看待,我可以解决这个问题?我检查了类似的问题,但没有解决。
答案 0 :(得分:0)
A)如果禁用它,是否还选择了任何意义?只是一个逻辑问题,也许您的框架也可能导致此问题 B)options [selectedIndex] .value是您应该查看的内容
var paypalSelect = getElementsByTagName("select")[0], // only if it really is the first SELECT on your page .. otherwise .. see below
ppsIndex = paypalSelect.selectedIndex,
ppsValue = paypalSelect.options[ ppsIndex ].value
您可以考虑为其提供一个ID,如下所示:
<select id="paypal_select_Kategorie">…</select>
然后
var paypalSelect = document.querySelector( '#paypal_select_Kategorie' ) // etc.pp.
所以..放在一起: 首先给input:image:submit一个onclick监听器:
onclick=checkCategory(this)
然后添加此功能:
function checkCategory( ppSelect ){
var ppsIndex = ppSelect.selectedIndex,
ppsValue = ppSelect.options[ ppsIndex ].value
if( parseInt( ppsValue ) == 0 ) console.log( "disabled standard" ); else console.log( "non-standard selection: "+ ppsValue )
}
答案 1 :(得分:-2)
使用JS应该是您的最后选择;)(如果您只想检查是否已选择某项) 尝试在html5上使用require字段并使用验证。 https://www.w3schools.com/tags/att_select_required.asp