2014-04-22 5 views
0

선택 옵션이 있으며 jquery를 사용하여 select 옵션 변경시 텍스트 영역을 채 웁니다. jquery, php를 사용하여 텍스트 영역 채우기

내 코드입니다 : 나는 어떤 일들이 텍스트 영역에 일어나지 선택의 옵션을 선택하면

<html><head> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
function getvalues() { 
    var txt = $("textaera[name='txt']:text").val(); 

    $.ajax({ url: "demo_test6.php", 
     data: {"txt":txt}, 
     type: 'get', 
     dataType: "json", 
     success: function(output) { 
      console.log(output); 
      $("textarea#txt").text(output[0]); 
     } 
    }); 
} 
</script> 
</head> 
<body> 
    <form action="demo_test6.php"> 
     <label for="ctlJob">Job Function:</label> 
     <select name="id" id="ctlJob" onblur="getvalues() " onchange="getvalues()"> 
      <option value="none" selected="selected">-- Select One --</option> 
      <option value="1">Managers</option> 
      <option value="2">Team Leaders</option> 
      <option value="3">Developers</option> 
     </select> 

    <textarea nama="txt" id="txt"> 
     return value should be here 
    </textarea> 
    <input type="submit" name="action" value="Book" /> 
    </form> 
</body> 
</html> 

PHP (demo_test.php)

<?php 

include 'Connect.php'; //Connection to database 
$personid=$_GET['id']; 
$requete = mysql_query("SELECT shortinfo FROM person where personid='$personid'"); 
$rownmbr = mysql_numrows($requete); 
for ($i=0; $i<$rownmbr; $i++) { 
    echo $result = mysql_result($requete,$i); 
    $response = array('$result'); // add return data to an array 
    echo json_encode($response); // json encode that array 
} 

exit; 

?> 

, 나는 어떤을 찾는없이 사일을 보냈다 솔루션,

실수가 있으면 알려주십시오. 또는 내 코드에서 뭔가를 변경하거나 추가해야하는 경우!

+1

새로운 코드에서 mysql_ * 함수를 사용하지 말고 SQL 주입 취약점 'id = 1'또는 '1'= '1'을 가지고 있습니다 ** ] (http://bit.ly/phpmsql). 그들은 더 이상 유지되지 않으며 [공식적으로 사용되지 않습니다] (http://j.mp/XqV7Lp). [** 빨간색 상자 **] (http://j.mp/Te9zIL)를 참조하십시오. 대신 [* prepared statements *] (http://j.mp/T9hLWi)에 대해 알아보고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용하십시오. mysqli) - [이 기사] (http://j.mp/QEx8IB)는 어떤 결정을 내리는 데 도움이 될 것입니다. PDO를 선택하면 [여기는 좋은 튜토리얼입니다] (http://j.mp/PoWehJ). –

+0

나중에 mysql을 수정하겠습니까? 왜 텍스트 영역이 값 (select/option)을 선택할 때 아무 것도받지 못하는 이유를 말해주십시오. – user3546104

+0

$ response = array ('$ result'); 이것은 말도 안돼 첫 번째 견적을 제거하십시오 $ result는 배열입니다 mysql_fetch 또는 $ result [0] – Nickool

답변

0

각 레코드를 개별적으로 JSON 인코딩 할 때 DB 레코드가 두 개 이상인 경우 서버 응답에 잘못된 JSON이있을 수 있습니다.

또한 지금은 echo $result = mysql_result($requete,$i);이 자동으로 잘못된 JSON을 생성합니다.

jQuery JSON 구문 분석을 사용하려면 응답에 유효한 JSON 데이터 구조를 하나만 반환해야합니다. 당신의 응답 데이터를 순수 PHP 데이터를 구축 : 당신이 그것을 잘 알고 성장할 때까지

0

당신은, 때문에 라인 var txt = $("textaera[name='txt']:text").val()

그리고 JSON에 대한 엄지 손가락의 규칙 대신 선택한 옵션의 텍스트 영역의 값을 전송 한 모든 것이 끝나면 json_encode를 통해서만 반환합니다.

관련 문제