Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript和HTML-onclick_Javascript_Html_Input_Onclick_Radio - Fatal编程技术网

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;
    }
};