Member 13358514 Ответов: 1

Форма не обновляется с помощью jquery ajax PHP


Есть форма, в которой, если кто-то вводит число, он вызывает обратно данные из таблицы mysql на основе этого числа, а затем записывает данные на страницу без перезагрузки всей страницы. Даже если ajax работает и показывает "успех", PHP не получает никакой ценности.
Весь код на одной и той же странице (ajax и PHP), а URL для Ajax-это сама страница.

Что я уже пробовал:

<pre><!DOCTYPE html>

<html>
	
	<script src="Js/jquery-3.4.1.js"></script>

	<body>
	
		<form method="post" id="myForm" name="myForm" action="" enctype="multipart/form-data" > 	
				
			<input type="Submit" value="submit"  style="visibility:hidden"/>				
			<input type="text" name="square" id="square" size="2" onchange="show()">			
			<input type="hidden" name="submitType" id="submitType">
	
		</form>   
		
		<script type="text/javascript">
		
			function show() 
			{	
				document.getElementById("submitType").value="Show";	

				$(document).ready(function()
				{
					var square=$("#square").val();	
					alert(square)
					var submitType=$("#submitType").val();
			  					
					$.ajax
					({		
						url: "help.php",									
						type: "POST",			
										
						data:
						{
							submitType:"Show",
							square:square		
						},
						
						cache:"false",
						dataType:"html",
						
						error: function (xhr, ajaxOptions,errorThrown)
						{						
							alert("ERROR");
						}, 
				
						success: function (data)
						{            
							alert("Success");
						}					
					});
					
					return false; 
				});						 
			}
		</script>

		<?php
			
			if(isset($_POST["submitType"])=="Show")
			{
				include "mysql.php";  	
							
				$square=$_POST["square"];	

				print_r($square);				
				
				$sqlQuery="Select links from myTable where number='$square'";
				mysqli_query($conn, $sqlQuery) or die(mysqli_error($conn));					
				$result = mysqli_query($conn,$sqlQuery);
				$array = mysqli_fetch_row($result); 					
				print_r("<script type=\"text/javascript\">");	
				print_r("currentSquare=".$square.";");
				print_r("info='".$array[0]."';");			
				print_r("</script>");					
			}

		?>
		
	</body>

</html>

Member 13358514

К твоему сведению, я уже пробовал:

1)document.getElementById("myForm").submit(); вместо document.ready
- никакое изменение

2)$("#myForm").on("submit", функция (четная); вместо документа.ready
и добавил event.preventDefault();
- по-прежнему никаких изменений

3) document.getElementById("myForm").submit
- перезагрузил всю страницу целиком

1 Ответов

Рейтинг:
2

ZurdoDev

Вы говорите, что отображается сообщение "успех", что означает, что ваша функция успеха запущена. Однако вы не делаете ничего другого в функции успеха. Это будет то место, где вы измените значение на странице.