Мои функции 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>
*
Открыть консоль. Что он говорит? В какой JS-документации вы нашли метод «Attr»? –
Откройте инструменты разработчика своего браузера и посмотрите на консоль. Он показывает вам сообщение об ошибке. Консоль (и инструменты dev в целом) являются важной частью веб-разработки. –