Javascript onClick函数无效

时间:2016-11-24 16:01:06

标签: javascript c# jquery asp.net-mvc

我构建了一些小的mvc asp.net项目来检查OutBrain API的一些功能。

我做了一个输入类型的文本,它获得了MarketerI ID,并且应该返回他的名字(来自服务器)。但是,当我按下按钮时没有任何事情发生,我真的不知道为什么,并且很乐意得到一些帮助!

谢谢

我的代码:

outBrain.js文件

$("#buttonB").on('click', function () {
     getMarketer();
});


function getMarketer() {
    $.ajax({
        url: "/home/GetOutBrainMarketers",
        data: { id: $("marketerID").val() },
        success: function (result) {
            var marketer = JSON.parse(result);
            document.getElementById("nameMarketer").innerHTML = (marketer.name);
        }
    });
}

cshtml文件(包括脚本文件路径):

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="~/Scripts/outBrain.js"></script>
@{
    ViewBag.Title = "Home Page";
}
<br />
<div class="details">
    <label>Enter Marketer ID</label>
    <input type="text" class="form-control" id="marketerID">
    <input type="button" class="btn btn-default" value="OK" id="buttonB" />
    <section class="details">
        <div class="name">
            <label>Name</label>
            <label id="nameMarketer"></label>
        </div>
    </section>
</div>

还有控制器的代码,但没有注意添加它。

4 个答案:

答案 0 :(得分:2)

ajax中的选择器缺少#。 它是$("marketerID").val(),应为$("#marketerID").val();

这可能是问题吗?

答案 1 :(得分:2)

尝试:

$("#buttonB").click(function () {
     getMarketer();
});

答案 2 :(得分:1)

更改此代码

$.ajax({
        url: "/home/GetOutBrainMarketers",
        data: { id: $("marketerID").val() },
        success: function (result) {
            var marketer = JSON.parse(result);
            document.getElementById("nameMarketer").innerHTML = (marketer.name);
        }
    });

由此:

$.ajax({
        url: "/home/GetOutBrainMarketers",
        data: { id: $("marketerID").val() },
        success: function (result) {
            var marketer = JSON.parse(result);
            $("#nameMarketer").html(marketer.name);
        }
    });

祝你好运

答案 3 :(得分:0)

I think, you have to put the your js files at the end, so it wwil be like this: 


@{
    ViewBag.Title = "Home Page";
}
<br />
<div class="details">
    <label>Enter Marketer ID</label>
    <input type="text" class="form-control" id="marketerID">
    <input type="button" class="btn btn-default" value="OK" id="buttonB" />
    <section class="details">
        <div class="name">
            <label>Name</label>
            <label id="nameMarketer"></label>
        </div>
    </section>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="~/Scripts/outBrain.js"></script>

我建议您使用@section,这样您的代码就会更加整洁。