【问题标题】:form submit jQuery function doesn't work in js file表单提交jQuery函数在js文件中不起作用
【发布时间】:2012-12-04 18:54:24
【问题描述】:

当我在视图中使用表单 sumbit 函数时,我有一个 MVC 视图,它工作正常。但是当我将我的代码放入 js 文件时它停止工作

这是为什么呢?有没有解决办法?

<script type="text/javascript" src="@Url.Content( "~/Scripts/site/js.js" )" ></script>
@using( Html.BeginForm( "Index" , "Sample" , FormMethod.Post , new { id = "frm" } ) )
{
    <div>
        <p>
            <input type="text" id="username" name="username" />
        </p>
        <input type="submit" value="Save" />
    </div>
    <script type="text/javascript">
        $('form').submit(function ()  // or $('#frm').submit
        {
            alert('1');
            return false;
        });
    </script>
}

【问题讨论】:

  • “它不工作”是什么意思?
  • @AaronKurtzhals :我的意思是它没有被解雇。并且 alert('1') 没有显示
  • 您发布的代码示例是否有效?另外,您会发布其他工作/非工作代码示例吗?还有,你用的是 asp.net mvc 吗?

标签: javascript jquery model-view-controller


【解决方案1】:

在您的外部文件中,尝试将其包装在 $(document).ready(); 调用中。所以

$(document).ready(function() {
    $('#frm').submit(function ()
        {
            alert('1');
            return false;
        });
    });

另外,我认为这很明显,但在使用外部 js 时也要删除内联 JS。 :-)

【讨论】:

  • 我问删除那个内联js的问题
  • 对不起,这对我没有任何意义。我的帖子的目的是指出您应该尝试在外部 javascript 中使用 $(document).ready();。此外,如果您使用的是外部 javascript 文件,那么您需要确保删除内联 javascript 以避免冲突/清洁。有意义吗?
  • 我想删除我视图中的任何 js 并且只使用我的外部 js 文件。如果我说错了对不起。这是因为我的英语不好
  • 在这种情况下,我的代码应该可以在您的外部文件中使用。不用担心 - 感谢您的澄清。 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-10
  • 1970-01-01
  • 1970-01-01
  • 2018-08-19
  • 2013-01-19
  • 1970-01-01
相关资源
最近更新 更多