Как только вы исправите проблему, которую Sreekanth MK указал , у вас будет новая проблема:
Ничто не мешает действию по умолчанию для отправки формы, которое заключается в отправке данных формы на URL-адрес action
(в вашем случае это будет собственный URL-адрес страницы) и замену текущей страницы. с тем, что возвращает этот URL.
Вам необходимо запретить действие по умолчанию. Минимальный путь:
<form id = "dp5" action="" method="POST" onsubmit="Write_Text(); return false">
или
<form id = "dp5" action="" method="POST" onsubmit="event.preventDefault(); Write_Text();">
... но я рекомендую вместо этого использовать современную обработку событий, удалив атрибут onsubmit
и изменив JavaScript следующим образом:
function Write_Text(event) {
event.preventDefault();
let x = document.forms["dp5"]["No"].value;
if (x === "false") {
document.getElementById("text").disabled=true;
document.getElementById("text").value="";
} else {
document.getElementById("text").disabled =false;
}
}
document.getElementById("dp5").addEventListener("submit", Write_Text);
Обратите внимание, что вам нужно переместить тег script
. Помещение script
в head
- это анти-шаблон. Скрипты идут в конце страницы , прямо перед закрывающим тегом </body>
.
Примечание: вы можете делать все что угодно в своем собственном коде, но, FWIW, подавляющее соглашение в JavaScript заключается в том, что имена функций начинаются со строчной буквы и используют camelCase
, кроме конструкторов, которые использовали изначально ограниченный CamelCase
вместо. Так что writeText
, а не Write_Text
.