Я создаю html-страницу, где отображается информация о зарегистрированном пользователе, рядом с информацией есть кнопка, открывающая форму:
<h1 class = "personal">Il mio profilo: <button class = "add_btn" onclick = "mod()">Modifica</button></h1>
<div class = "mobile-screen" id = "modform" style = "display: none">
<form action = "modifica.php" method = "post" id = "mod-form">
<table>
<button class = "login-btn" onclick = "mod()">Chiudi</button>
<tr>
<input type = "text" name = "memail" id = "memail" placeholder = "E-Mail">
</tr>
<tr>
<input type = "text" name = "mpass" id = "mpassword" placeholder = "Password">
<input type = "text" name = "mmphone" id = "mmphone" placeholder = "Cellulare">
</tr>
<tr>
<input type = "submit" class = "login-btn" name = "mod" id = "signup-btn" value = "Modifica">
</tr>
</table>
</form>
</div>
В этой форме я добавил кнопку, которая должна закрыть его, вызвав функцию js.
Это кнопка:
<button class = "login-btn" onclick = "mod()">Chiudi</button>
Это функция JS, которая называется
function mod(){
var y = document.getElementById("modform");
if (y.style.display === "none") {
y.style.display = "block";
}else{
y.style.display = "none";
}
}
Каждый раз, когда я нажимаю эту кнопку, вызывается файл modifica.php
Есть идеи, почему это происходит?
Модифицировал кнопку так:
<button type = "button" class = "login-btn" onclick = "mod()">Chiudi</button>
Но он по-прежнему вызывает modifica.php
Да, это так. Если этого не произошло, у вас возникнет другая проблема. Например, название ваших функций такое же, как у ваших кнопок.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


По умолчанию <button> в форме будет обрабатываться как кнопка отправки (и, следовательно, отправить форму для любого действия, в данном случае modifica.php), чтобы избежать этого, чтобы установить для атрибута type значение button.
<button type = "button" class = "login-btn" onclick = "mod()">Chiudi</button>
Пробовал, проблема не устранилась
Это ответ на заданный вопрос с помощью данной кнопки. Убедитесь, что вы добавили его на правильную кнопку и что ваша форма не кэширована
чтобы обновить страницу без кеша, вы часто можете запустить ctrl + shift + R или cmd + shift + R
обновила страницу без кеша, и она по-прежнему вызывает функцию, она добавляется к правильной кнопке, у меня есть еще 3 кнопки, 1 работает правильно, 1 вызывает функцию, а последняя перезагружает страницу. Функции js остались прежними, но изменились идентификатор и имя функции.
Есть ли у вас какой-либо другой код, относящийся к форме / кнопке, которые вы не публиковали?
Посмотрите в консоль. Вы увидите ошибки или что-то подобное. Измените функцию на function mod(e) { alert(e.target.innerHTML); e.preventDefault(); ...
@Musa У меня есть код CSS и файл PHP, который называется
Я изменил название функций, и теперь 2 кнопки работают правильно, а 2 ничего не делают, но проблема в том, что я изменил только 2 случайным образом и оставил 1 как было, теперь 2 работают (1 уже работала правильно, а 1 вызывал php-страницу), а 2 - нет (1 вызывал php-страницу, а 1 перезагружал страницу)
Решения, приведенные в этом вопросе, мне не помогли, поэтому я спросил