2013-06-24 3 views
0

Ok. Я не понимаю jQuery или Javascript, но мне нужно сделать простую задачу, которая может быть довольно простой.Значение текстового поля для переменной php при изменении значения текстового поля

У меня есть страница регистрации пользователя и код формы выглядит следующим образом:

<form method="post" action="check.php"> 
    Minecraft Username:<input type="text" name="user"> 
    Password:<input type="password" name="pass"> 
    Password Again:<input type="password" name="passConfirm"> 
    <input type="submit" value="Login" id="buttonLogin"> 
</form> 

Ok. Итак, что я хочу сделать, так это, когда поле «Minecraft Username» изменилось, оно обновит переменную. Вот что мне нужно, если кто-то может написать и объяснить код.

Об изменении значения текстового поля, он установит значение переменной PHP с именем $ registerUsername и эта переменная используется в IMG ...

<img src="https://minotar.net/helm/<?php echo $registerUsername ?>/20.png"> 

Большое спасибо. : D

EDIT: Я хочу, чтобы он менялся в режиме реального времени, а не после сообщения.

+0

Объяснить ясно и хотят изменить переменный после завершения заполнения или просто afterchanging значения –

+1

TextField Done. Пожалуйста, помогите –

ответ

3

Вам необходимо позвонить AJAX. Ниже объясняемая код ajax_call.php

<html> 
<head> 
<script type="text/javascript"> 
//function which is called as soon as a user types a single character 
function update() 
{ 
    //Step 1:create XMLHttpRequest object to make AJAX call. 
    try{ 
     //for firefox,chrome and opera. 
     xmlHttp=new XMLHttpRequest(); 
    }catch(e){ 
     try{ 
     //for IE  
     xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    catch(e2){ 
     //Otherwise, notify browser doesn't support ajax. 
     alert('Sorry ! AJAX not supported'); 
    } 
    } 
    //create a handler function to handle the response 
    xmlHttp.onreadystatechange=function(){ 
     //execute the code only when response is successfull 
     //readyState=4 denotes success 
     //HTTP status=200 denotes OK. 
     if(xmlHttp.readyState==4&&xmlHttp.status==200){ 
      //update the div inside HTML with the respone text received. 
      document.getElementById('content').innerHTML=xmlHttp.responseText; 
     } 
    } 
    //make AJAX call 
    xmlHttp.open('GET','ajax_reply.php?content='+document.getElementById('search_text').value,true); 
    xmlHttp.send(null); 
} 
</script> 
</head> 
<body> 
<form name='myForm'> 
    <input type="text" id="search_text" onkeyup="update()"> 
</form> 
<div id="content"></div> 
</body> 
</html> 

Теперь код для ajax_reply.php, где вы можете установить переменную или ответить на ответ или делать то, что вам нравится.

<?php 
if(isset($_GET['content'])) 
echo $_GET['content']; 
//you can set the variable here like:- 
//$text = $_GET['content']; 
?> 

Надеюсь, это поможет.

2

Вы можете попробовать следующий код:

<form method="post" action="check.php"> 
    Minecraft Username:<input type="text" name="user" id="user" /> 
    Password:<input type="password" name="pass" /> 
    Password Again:<input type="password" name="passConfirm" /> 
    <input type="submit" value="Login" id="buttonLogin" /> 
</form> 
<img id="minecraft_img" src="" /> 
<script type="text/javascript"> 
    $(function(){ 
     $("#user").on('change', function(){ 
      $.ajax({ 
       url  : 'ajax.php', 
       data  : {'user' : $("#user").val()}, 
       type  : 'POST', 
       success : function(resp){ 
        $("#minecraft_img").attr('src', resp); 
       }, 
       error : function(resp){ 
        alert('Ajax Error !'); 
       } 
      }); 
     }); 
    }); 
</script> 

<?php 
    if(isset($_POST['user']) && $_POST['user'] != ""){ 
     $session['minecraftUser'] = $_POST['user']; 
     echo 'https://minotar.net/helm/'.$session['minecraftUser'].'/20.png'; 
    } 

?> 
+0

Если вам нужна дополнительная помощь, пожалуйста, сообщите мне –