2014-10-11 6 views
0

데이터베이스에서 데이터를 읽고이를 테이블로 표시하고 AJAX 호출을 사용하여 항목을 행 단위로 편집 할 수있는 페이지를 만듭니다.JAVASCRIPT : 전달 된 매개 변수가 "정의되지 않음"

function editParam(bname, button) { 
alert(bname); //this part doesn't happen, the error on console comes up before it 
tr = button.parentNode; 
while (tr && tr.nodeName.toUpperCase() !== "TR" && tr.nodeName.toUpperCase() !== "BODY") { 
    tr = tr.parentNode; 
} 
if (!tr || tr.nodeName.toUpperCase() !== "TR") { 
    return; 
} 
//some more code 
} 

PHP : 열 이름에

//get $row_users['Name'] 
while ($row_users = mysqli_fetch_array($results)) { 
echo "<form method='POST'> //some <tr><td></td></tr> 
<button onclick='editParam(".$row_users['Name'].", this)'>Edit</button> 
</form>"; 
} 

내 데이터 "B1"처럼, "C2"등

자바 스크립트 - 여기에 간단한 코드 조각은 문제가 오는 곳입니다

버튼 onclick 오류 : B1이 정의되지 않았습니다.

다른 텍스트 나 숫자의 코드를 실행하는 동안 문제가 없었습니다. 그래서 내 문제는 데이터 형식과 관련이 있음을 이해합니다. 그러나, 나는 같은 것을 어떻게 해결하는지 모른다.

모든 의견을 보내 주시면 감사하겠습니다.

+1

문자열을 함수에 전달해야합니다. – CBroe

+0

@CBroe이 경우 어떻게 설명 할 수 있습니까? – VGupta

+0

이름을 덤핑하면 결과 속성 값이'editParam (B1, this)'처럼 보일 것입니다. - editParam ("B1", this)' – Pointy

답변

1

$row_users['Name'] 주위에 따옴표를 추가해야합니다. 그렇지 않으면 JS 변수로 해석되기 때문에 따옴표를 추가해야합니다.

"<button onclick='editParam(\"" . $row_users['Name'] . "\", this)'>Edit</button>"; 
+0

Aah it worked! 엄청 고마워! – VGupta

관련 문제