Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Jqгery не обрабатывает нажатие на кнопку (https://javascript.ru/forum/server/70996-jqgery-ne-obrabatyvaet-nazhatie-na-knopku.html)

leff87 17.10.2017 16:53

Jqгery не обрабатывает нажатие на кнопку
 
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Login</title>
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>

<form name = login accept-charset="UTF-8" method="post" >
<table>
<tr><td><input type="text" id="login" style="width: 161px; ">Имя пользователя</td></tr>
<tr><td><input type="password" id="password" style="width: 157px; ">Пароль</td></tr>
<tr><td><input type="button" id="inLogin" value="Войти" style="width: 101px; "></td></tr>
<tr></tr>
</table>
</form>

<script>
$(document).ready(function(){
	
	$(document).on("click", "#inLogin", function(){
	$.ajax({
			  type: "POST",
			  url: "localhost:8080/market/Auth",
			  dataType: "text",
			  data: "user="+$("#login").val()+"&pass="+$("#password").val(),
			  success: function(data){
			  alert("Пришел ответ");
			  }
			});	
		
	});	
});
</script>

</body>
</html>


Подскажите что может быть не так в данном коде.
По нажатию на кнопку отправить ни чего не происходит.
Уже потерял надежду понять что здесь не так ?:help:

Nexus 17.10.2017 17:24

leff87, зачем делегировать обработку события, если элемент сразу доступен?

Вставьте в конец своего документа этот код:
(function(){
	if(typeof $!='function')
		return alert('Библиотека jQuery не найдена');

	if(!$('#inLogin').length)
		alert('Элемент с указанным ID не найден на странице');
})();

рони 17.10.2017 17:36

leff87,
в коде ошибок нет, есть проблема с сервером, лучше проверять не локально.

leff87 17.10.2017 20:04

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Login</title>
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>

<form id="loginForm" accept-charset="UTF-8" method="post" >
<table>
<tr><td><input type="text" id="login" name="login" style="width: 161px; ">Имя пользователя</td></tr>
<tr><td><input type="password" id="pass"  name="pass" style="width: 157px; ">Пароль</td></tr>
<tr><td><button type="submit" style="width: 101px; ">Войти</button></td></tr>
<tr></tr>
</table>
</form>

<script>
$(document).ready(function(){

	$("#loginForm").submit(function(){
	var s = $(this).serialize();
	$.ajax({
			  type: "POST",
			  url: "localhost:8080/market/Auth",
			  dataType: "html",
			  data: s,
			  async: true,
			  success: function(jqXHR, textStatus) {
			  ......
			  });
		
	});
	
});
</script>

</body>
</html>


вот так заработало. Хотя в чем была проблема я так и не понял.
Зато сразу появилась другая проблема то что от сервера приходит напрямую в браузер печатается, а не функцией function(jqXHR, textStatus) обрабатывается.

:cray:

рони 17.10.2017 21:03

Цитата:

Сообщение от leff87
вот так заработало.

наверно как раз наоборот, ничего не работает, вы хотябы форму отключите в строке 24

submit(function(event){event.preventDefault()

leff87 18.10.2017 05:25

Вы правы не работает. То что в javascript-ом написано.
Как позже выяснялось...
Столько времени потратил и толку никого.:(

Подскажите пожалуйста почему код в теме не хочет работать. Исходя из моей логики вроде все правильно написано. В интернете все перерыл там в примерах так же написано...:help:

рони 18.10.2017 05:58

Цитата:

Сообщение от leff87
Подскажите пожалуйста почему код в теме не хочет работать.

Цитата:

Сообщение от рони
в коде ошибок нет, есть проблема с сервером, лучше проверять не локально.

второй код, тоже рабочий если event добавить и сервер в инете, ждите специалиста по серверу, он вам точнее скажет.
:-?

leff87 18.10.2017 20:32

Разобрался вроде 'access-control-allow-origin' вот это не давало коду работать.
Хотя если честно я досих пор не понял где же он нашел разные домены,
вроде и страница на localhost и сервлет там же работает. Магия да и только или я не догоняю:blink:


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