【问题标题】:editorfor not finding javascript function没有找到 javascript 函数的编辑器
【发布时间】:2019-01-22 10:43:46
【问题描述】:

我有编辑器来控制显示 jquery 日期日历,并且我已经定义了 onchange 事件。我也检查了源代码,一切似乎都是正确的。但是当 editorfor control 发生更改时,它会显示错误: 0x800a1391 - JavaScript 运行时错误:'editorchange' 未定义

我的控制编辑器定义如下:

@Html.EditorFor(model => model.holidayFrom, new { htmlAttributes = new { @class = "datepicker form-control", @id = "holidayFrom", @onchange = "editorchange();" } }) 

和javascript函数如下:

<script type="text/javascript">function editorchange() { alert("Changed");  }</script>

我在同一个脚本标签中有另一个文本框更改功能和 ajax 调用。工作正常。

我也尝试过直接更改方法 $('#holidayFrom').change(function () {alert('change');}); 这根本不会被解雇。我猜原因是因为当 jquery 日历更改编辑器中的日期时,它无法识别那里的更改事件。

不能使用 textboxfor,因为这会导致 Jquery 日历出现问题。

我将不胜感激这里似乎有问题的任何建议。 谢谢

【问题讨论】:

    标签: javascript jquery razor model-view-controller onchange


    【解决方案1】:

    让我们试试这个方法:

     $("#holidayFrom").datepicker({
      onSelect: function(dateText) {
        alert(dateText);
      }
    });
    

    【讨论】:

    • onselect 也不起作用。它没有在更改时触发,但没有选择它引发相同错误的文本:- JavaScript 运行时错误:'editorchange' 未定义
    • 你是把脚本标签放在页眉还是正文中?
    • 它在正文中,正如我提到的 javascript 的其余部分工作正常。我也尝试过使用 textboxfor 及其相同的问题。
    • 我已经更新了我的答案,请尝试这种方法,看看它是否有效。
    • 谢谢高拉夫。那行得通。但不确定为什么将日期格式更改为 mm/dd/yyyy。我已经有以下代码将其设置为 dd/mm/yyyy。 $(document).ready(function () { $('.datepicker').datepicker({ dateFormat: 'dd/mm/yy', firstDay: 1 }); });
    猜你喜欢
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 2015-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多