点击单选按钮上的Javascript onclick在Chrome中不起作用

时间:2013-03-28 05:58:33

标签: javascript html google-chrome

我看过这个:Radio Button change event not working in chrome or safari并没有给我我想要的解决方案。我有一个带单选按钮的简单表单和一个onClick =“jarod();”和jarod()是一个上面调用的函数。见代码:

<script type="text/javascript">
function jarod()
 {
  alert('yes');
 }
</script>

HTML表单是:

<form id="form_601799" class="appnitro"  method="post" action="/formbuilder/view.php">
                <div class="form_description">
        <h2>Input Information to Prepare Answer</h2>
        <p></p>
    </div>                      
        <ul >
                <li id="li_1" >
    <label class="description" for="element_1">Number of paragraphs: </label>
    <div>
        <input id="element_1" name="element_1" class="element text small" type="text" maxlength="255" value=""/> 
    </div> 
    </li>       <li id="li_2" >
    <label class="description" for="element_2">Paragraph 1: </label>
    <span>

        <input id="element_2_1" name="element_2" class="element radio" type="radio" value="1" />

    <label class="choice" for="element_2_1" >Admit</label>
        <input onClick="jarod();" id="element_2_2" name="element_2" class="element radio" type="radio" value="2" />
    <label class="choice" for="element_2_2">Qualified Admission</label>
        <input id="element_2_3" name="element_2" class="element radio" type="radio" value="3" />
    <label class="choice" for="element_2_3">Deny</label>
        <input id="element_2_4" name="element_2" class="element radio" type="radio" value="4" />
    <label class="choice" for="element_2_4">Qualified Denial</label>
        <input id="element_2_5" name="element_2" class="element radio" type="radio" value="5" />
    <label class="choice" for="element_2_5">Legal Conclusion</label>
    </span> 
    </li>
                <li class="buttons">
            <input type="hidden" name="form_id" value="601799" />

            <input id="saveForm" class="button_text" type="submit" name="submit" value="Submit" />
    </li>
        </ul>
    </form> 

如你所见,有onclick =“jarod();”试图调用javascript函数。当onclick =“jarod();”时,这没有任何作用。在输入标签部分,但如果我将其移动到标签部分,如:

    <label class="choice" for="element_2_1" onClick="jarod();">Admit</lable>

此“标签”在Chrome中运行良好。如果选择了合格入场或合格拒绝,我将用它来显示文本区域。

感谢您的帮助。

PS - 我也试过把onclick =“jarod();”在文本字段中,它在Chrome中运行良好。单选按钮和Chrome有什么关系?

编辑:这令人沮丧。我使用phpform.org创建表单以节省时间。它在顶部使用此DOCTYPE:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">

当我使用它时:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

它运作得很好。有人评论说它是XHTML / XML的一种形式,而且确实如此。至少我能够在最后几个小时睡觉,而不是坐在电脑前试图找出解决方案!

现在是坏事,我的CSS看起来不对。我想我宁愿有格式问题而不是编程问题。

贾罗德

3 个答案:

答案 0 :(得分:2)

您的文档是否以任何基于XML的HTML形式编写?因为如果是这样,那么onClick将被忽略,因为名称区分大小写。如果你把你的整个文档放好,那么有人可以在原始文档的上下文中测试所有内容,而且有人肯定可以给你一个明确的答案(我很快就会去睡觉)。

目前,我的回答是尝试将onClick更改为onclick in the radio of the radio button。

此外,您需要将每个单选按钮放在内部,而不仅仅是其中一个。其他单选按钮是单独的HTML元素,因此来自其中一个的onclick事件不适用于任何其他。

答案 1 :(得分:1)

由于您未提供DOCTYPE问题,因此可能是onclick或onClick

你应该检查一下。 onclick or onClick?

也可以尝试

onclick="javascript:jarod();"

从onclick开始为无线电工作,为OSX工作 这是一个小提琴

http://jsfiddle.net/9efbR/

答案 2 :(得分:0)

我在无线电输入上遇到了类似的问题(无法使onclick=""工作),并且解决方案已将onclick更改为onchange