javascript - onClick 功能不适用于选定的选项字段
问题描述
我的网页上有一个 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 框架,这就是选择字段:
<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!");
}
}
大家觉得我能解决这个问题吗?我检查了类似的问题,但没有得到解决。
解决方案
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 )
}
推荐阅读
- javascript - 如何修改 api 响应
- c - 当我运行程序时,最后一个“if”语句不起作用
- java - 当休眠(通过create-drop)尝试删除它时,Envers 审计表不存在
- javascript - 检测是否使用 nextJS、react 或 react-native
- python - Pycharm 无法从构建流中检索图像 ID
- python - 返回可以关闭循环吗?(蟒蛇/django)
- arrays - 如何在快速验证器中比较数组的整数元素?
- java - 仅获取小时和分钟 Java
- windows - 重置笔记本电脑后无法安装 Windows
- r - grid.arrange 创建重叠图