2

我看过这个: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 看起来不正确。我想我宁愿遇到格式问题而不是编程问题。

贾罗德

4

3 回答 3

2

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

现在,我的答案是尝试在单选按钮的属性中将 onClick 更改为 onclick。

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

于 2013-03-28T06:16:35.447 回答
1

由于您没有在此处提供您的 DOCTYPE 问题,因此可能是 onclick 或 onClick

你应该检查一下。 onclick 还是 onClick?

也试试

onclick="javascript:jarod();"

从 onclick for radio 开始,它在 OSX 的 chrome 上工作,这是一个小提琴

http://jsfiddle.net/9efbR/

于 2013-03-28T06:16:33.853 回答
0

我在无线电输入方面遇到了类似的问题(无法开始onclick=""工作),并且解决方案已更改onclickonchange.

于 2020-03-18T08:17:21.117 回答