Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   disable button doesnt work (https://javascript.ru/forum/dom-window/72950-disable-button-doesnt-work.html)

maksqwerty 09.03.2018 16:11

disable button doesnt work
 
Написал простенький скрипт, который должен сравнивать два поля, и если они одинаковые, то кнопка выключена, а если разные - то работает.
<form id="abc">
<input type="text" id= 'lol' value='test'>
<input type="text" id='lol2' value='test'>
<input type="button" id='but' >
</form>

$(document).ready(function(){
	$("#abc").onload(function(){
	var l1 = $("#lol").val();
        var l2 = $("#lol2").val();
		if ( l1 == l2 ){
		$("#but").prop('disabled', true);
			}else if (l1 !== l2){
		$("#but").prop('disabled', false);
			}
		});
		});

(К сожалению, onload могу только к форме приписать, или к одному из этих элементов внутри её, так как скрипт должен срабатывать при загрузке страницы).
Но он не работает. Что тут не так?

рони 09.03.2018 16:30

Цитата:

Сообщение от maksqwerty
onload могу только к форме приписать

не сможите.

рони 09.03.2018 16:33

Цитата:

Сообщение от maksqwerty
скрипт должен срабатывать при загрузке страницы

уберите строки 2 и 10

maksqwerty 09.03.2018 16:34

окей, а к чему тогда смогу?
body у меня нет. общего дива тожа.
если я напишу $("#lol").onload(function(), то ничего не произойдёт.
Как тогда сделать так, что бы скрипт заработал при открытии этой "страницы"?

maksqwerty 09.03.2018 16:35

понял, спасибо.

рони 09.03.2018 16:38

Цитата:

Сообщение от maksqwerty
скрипт должен срабатывать при загрузке страницы

в данном случае это должен сделать сервер, а не клиент

рони 09.03.2018 16:52

(вангую, что на самом деле хотели сделать) :)
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  :disabled{
    background-color: #FF0000;
  }

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
 $(function() {
     $("#abc").on("input", function() {
         var l1 = $("#lol").val();
         var l2 = $("#lol2").val();
         $("#but").prop('disabled', l1 == l2);
     }).trigger("input");
 });
  </script>
</head>

<body>
<form id="abc">
<input type="text" id= 'lol' value='test'>
<input type="text" id='lol2' value='test'>
<input type="button" id='but' >
</form>
</body>
</html>


Часовой пояс GMT +3, время: 03:16.