Javascript和HTML-onclick
假设我有以下创建两个单选按钮的代码:Javascript和HTML-onclick,javascript,html,input,onclick,radio,Javascript,Html,Input,Onclick,Radio,假设我有以下创建两个单选按钮的代码: <li id="foli517" class=" "> <label class="desc" id="shippingChoice" for="Field517_0"> Shipping Options </label> <div> <input id="shippingChoice" name="Field517" type="hidden" value=
<li id="foli517" class=" ">
<label class="desc" id="shippingChoice" for="Field517_0">
Shipping Options
</label>
<div>
<input id="shippingChoice" name="Field517" type="hidden" value="" />
<span>
<input id="shipping1" name="Field517" type="radio" class="field radio" value="$2.00 Shipping Fee" tabindex="13" checked="checked" />
<label class="choice" for="Field517_0" >
$2.00 Shipping Fee</label>
</span>
<span>
<input id="Field517_1" name="Field517" type="radio" class="field radio" value="I will pick up the items (free shipping)" tabindex="14" />
<label class="choice" for="Field517_1" >
I will pick up the items (free shipping)</label>
</span>
</div>
</li>
我会将onclick=“setSpan('FREE');”和onclick=“setSpan('notfree');”添加到相应单选按钮的HTML中,然后添加一个javascript函数,如下所示,该函数设置span的HTML
function setSpan(text) {
document.getElementById('mySpan').innerHTML = text;
}
示例:请检查 你能改进一下代码格式吗?像这样吗?:没错。我认为这样做比添加OneEvent处理程序等更容易。它似乎不起作用。我已确认我的span id是正确的。您是否将我提供给您的函数名更新为setShippingSpan而不是setSpan?你有没有把这个包括在网页里?尝试使用Google Chrome或safari的开发工具查看是否出现javascript错误。这非常有效。你能给我举个复选框的例子吗?如何查看复选框是否设置为true或false?(单击或未单击)@reising1:已更新。用于获取选中状态的属性只是
checked
。我当前有:var isChecked=this.checked;如果您使用上面的代码,那么它总是错误的,因为它使用的是事件委托,所以处理程序在容器上。因此,您需要target.checked
。如果您的代码不同,我需要查看该代码。
function setSpan(text) {
document.getElementById('mySpan').innerHTML = text;
}
document.getElementById('foli517').onchange = function(e) {
var e = e || event;
var target = e.target || e.srcElement;
var span = document.getElementById('mySpan');
var span2 = document.getElementById('mySpan2');
if (target.type === "radio") {
span.innerHTML = (target.id === "Field517_1") ? "FREE" : "NOT FREE";
}
if (target.type === "checkbox") {
span2.innerHTML = "Is it checked? " + target.checked;
}
};