2017-02-20 3 views
-2

Мои функции Javascript не действуют так, как я ожидал.Функции Javascript не действуют интуитивно

function submitDetailsForm() { 
    if (this.Attr("value") == "Add") { 
    alert("Add"); 
    } 
    alert("Not"); 
} 
<button type="button" name="submit" id="remove" value="Remove" onclick="submitDetailsForm()">Remove</button> 
<button type="button" name="submit" id="add" value="Add" onclick="submitDetailsForm()">Add</button> 
<button type="button" name="submit" id="edit" value="Edit" onclick="submitDetailsForm()">Edit</button> 

если я запускаю эту страницу (там больше кода, но это не имеет отношения к вопросу), то я использую кнопку добавить «добавить» уведомление не идет о но и не делает «не». Я не буду беспокоиться о добавлении предупреждения, потому что это может быть просто неудачный синтаксис, но в любом случае, конечно, предупреждение не должно срабатывать, если функция запускается. Я уверен, что функция запущена, потому что, если я переведу предупреждение не выше инструкции if, она будет работать. Любая помощь была бы высоко оценена.

[Resolved] Я решил проблему, используя идею передачи объекта в функцию. Я также забыл на самом деле объявить, что я использовал JQuery в теге скрипта. Решенный код:

<button type="button" name="submit" id="remove" value="Remove" onclick="submitDetailsForm(this)">Remove</button> 
    <button type="button" name="submit" id="add" value="Add" onclick="submitDetailsForm(this)">Add</button> 
    <button type="button" name="submit" id="edit" value="Edit" onclick="submitDetailsForm(this)">Edit</button> 

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
    <script> 
     function submitDetailsForm(obj) { 


      if ($(obj).attr("value") == "Add") { 
       alert("Add"); 
      } else { 
       alert("Not"); 
      } 


     } 
    </script> 

*

+0

Открыть консоль. Что он говорит? В какой JS-документации вы нашли метод «Attr»? –

+0

Откройте инструменты разработчика своего браузера и посмотрите на консоль. Он показывает вам сообщение об ошибке. Консоль (и инструменты dev в целом) являются важной частью веб-разработки. –

ответ

0

передать этот объект в функции

<button type="button" name="submit" id="remove" value="Remove" onclick="submitDetailsForm(this)">Remove</button> 
<button type="button" name="submit" id="add" value="Add" onclick="submitDetailsForm(this)">Add</button> 
<button type="button" name="submit" id="edit" value="Edit" onclick="submitDetailsForm(this)">Edit</button> 


<script> 
    function submitDetailsForm(obj) { 


     if (obj.value == "Add") { 
      alert("Add"); 
     } else { 
      alert("Not"); 
     } 


    } 
</script> 
Смежные вопросы