2016-11-24 3 views
-2

Я создаю небольшой проект mvc asp.net, чтобы проверить некоторые функции OutBrain API.Javascript onClick функция не работает

Я создал тип ввода текста, который получает идентификатор MarketerI и должен вернуть его имя (с сервера). Но когда я нажимаю кнопку, ничего не происходит, и я действительно не знаю, почему и рад помочь!

Благодаря

Мой код:

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 File (которые включают в себя путь к файлу сценария):

<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> 

Существует также код контроллера, но не см. точку, чтобы добавить его.

+0

Кажется, это нормально для меня? https://jsfiddle.net/mqLtw4s0/ – Liam

+0

Вы [отлаживали] (http://stackoverflow.com/questions/988363/how-can-i-debug-my-javascript-code)? – Liam

+0

@ Liam да он делает. Попробуйте поместить событие click в анонимную функцию. – bilpor

ответ

2

Try:

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

Хотя это может быть верным ответом, вы гораздо чаще помогаете другим, объясняя, что делает код и как он работает. Ответы только на код, как правило, получают меньше положительного внимания и не так полезны, как другие ответы. – Aurora0001

+1

Вот некоторые полезные советы, спасибо. – Bushido

2

Ваш селектор в ajax отсутствует #. Это $("marketerID").val(), должно быть $("#marketerID").val();

Возможно, это проблема?

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); 
     } 
    }); 

И Успехов

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, поэтому ваш код будет более организован.

Смежные вопросы