2014-10-11 3 views
1

Я использую следующий код, и мне нужно получить доступ к входному значению текстового поля формы с php. Форма не отправляется на сервер непосредственно через тег формы. Кнопка вызывает функцию JS. Мне нужно получить доступ к текстовому полю ввода, называемому stName, из PHP-кода. Как передать эту информацию на php и получить от нее доступ? Спасибо.Передача переменной переменной в php с использованием JSON

<!DOCTYPE html> 
<html><head> 
<meta charset="utf-8"> 
<title>Untitled Document</title> 
<link rel="stylesheet" type="text/css" href="jquery.mobile-1.4.4.min.css"> 

<script src="jquery-1.11.1.min.js"></script> 
<script src="jquery.mobile-1.4.4.min.js"></script> 
<script type="text/javascript" charset="utf-8" src="cordova.js"></script> 
<script charset="utf-8" type="text/javascript"> 
function connect() 
{ 
    $.ajax({ 
     url:'hostname/reply.php', 
     headers:{"Content-Type": "application/json"}, 
     type:'POST', 
     data:$(this), 
     dataType:'JSON', 
     error:function(jqXHR,text_status,strError){ 
      alert(strError);}, 
     timeout:60000, 
     success:function(data){ 
      $("#result").html(""); 
       for(var i in data){ 
       $("#result").append("<li>"+data[i]+"</li>");      
       } 
      } 
     });  
} 
</script> 
</head> 
<body> 
<center><b>My Students</b></center> 
<center> 
<form method="POST"> 
<input type="text" value="John" name ="stName" /> 
<input onclick="connect()" type="button" value="showStudents" /> 
</form> 
</center> 
<center><b>Results</b></center> 
<ul data-role="listview" id="result"></ul> 
</body> 
</html> 

ответ

0

Вам необходимо использовать функцию стерилизации. data:$("form").serialize()

Для Благоговение к функции: http://api.jquery.com/serialize/


я только что нашел этот StackOverflow, что говорит о том, как структурировать запрос AJAX, если у вас возникли проблемы. Submit form using AJAX and jQuery

2

serialize данные формы ..

изменить вашу связную функцию для этого

function connect() 
{ 
    $.ajax({ 
     url:'hostname/reply.php', 
     headers:{"Content-Type": "application/json"}, 
     type:'POST', 
     data:$('form').serializeArray(), 
     dataType:'JSON', 
     error:function(jqXHR,text_status,strError){ 
      alert(strError);}, 
     timeout:60000, 
     success:function(data){ 
      $("#result").html(""); 
       for(var i in data){ 
       $("#result").append("<li>"+data[i]+"</li>");      
       } 
      } 
     });  
} 

или просто вы можете сжать ваш код, как это ..

function connect() 
{ 
    $.post('hostname/reply.php', $('form').serialize(), function(data){ 
     $("#result").html(""); 
       for(var i in data){ 
       $("#result").append("<li>"+data[i]+"</li>");      
       } 
      } 
    }); 
} 
+0

Спасибо Azi и michaelcurry , Как получить доступ к входному значению формы из php? – Simon

+0

Я пытаюсь использовать этот PHP-код, но он не работает: $ data = json_decode ($ _ POST ['data'], true); $ message [] = $ data; \t print json_encode ($ message); – Simon

+0

сделать некоторые отладки. И дамп '$ _POST' в' reply.php' добавьте эту строку в 'reply.php' и посмотрите, какие данные получает страница' var_dump ($ _ POST); выход; ' –

Смежные вопросы