繁体   English   中英

插入某些脚本后,美元符号返回null

[英]after inserting some script the dollar sign returns null

在这里使用javascript新手,我用html编写了一个表单,并通过onchange事件提交了该表单,但是在javascript中添加了日期范围选择器后,该提交不起作用。 这是我的代码:

    <form id="dash_form" method="get">
        <div>Select a Tag Bundle dimension:</div>
        <select name="dimension" id="id_dimension" onchange="$('form#dash_form').submit()">
            <option value="">No dimension </option>
            <option value="Hello">Hello</option>
        </select>
        <h4>Please select a date range below:</h4>
        <div id="calendars"></div>
        <span>
        <input type="text" name="from" value="" id="start"/>
        &ndash;
        <input type="text" name="to" value="" id="end"/>
        </span>
    </form>
    <script type="text/javascript" charset="utf-8" src="/site_media/crm/javascripts/prototype.js"></script>
    <script type="text/javascript" charset="utf-8" src="/site_media/crm/javascripts/timeframe.js"></script>
    <script type="text/javascript" charset="utf-8">
      //<![CDATA[
        new Timeframe('calendars', {
          startField: 'from',
          endField: 'to',
          latest: Date.parseToObject({{Now}}),
          resetButton: 'reset' });
      //]]>
    </script>

在萤火虫中,我得到$("form#dash_form") is null ,并且当我删除脚本行时,它起作用...是什么原因引起的?

这可能是原型和jquery之间的冲突,因为它们都使用$函数。 没有冲突可以处理这种情况。 同样,不要混用标记和javascript来毫不干扰地定义select的onchange:

$(function() {
    $('select#id_dimension').change(function() {
        $('form#dash_form').submit();
    });
});

您似乎已将prototypejs库添加到您的项目中。

prototypejs和jQuery都使用$全局标识符,因此当两者同时使用时,它们会发生冲突。

选择一个或另一个库(我认为最好),或者采取步骤解决冲突:

http://docs.jquery.com/Using_jQuery_with_Other_Libraries

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM