2012-02-18 3 views
0

PHP 페이지에 입력란이 있습니다. 입력 상자에 값을 입력하면 javascript가 호출되고 입력 상자 옆에 mysql 값이 반환됩니다. 이것은 오류없이 100 % 작동합니다. 이것에 대한로드 중 자바 실행

내 코드는 다음과 같습니다

<input type=text id=sku1 name=sku1 onchange="showUser(1, this.value)" onkeypress="return enter(document.orderform.sku2)" value=<? echo $sku1; ?> > 

사용자가 양식을 제출하면, 약간의 계산으로 자체 페이지 반환 수행됩니다. 페이지가 다시로드되면 입력 상자에 사용자가 입력 한 값이 있습니다 ($ sku1). 내 문제는 MySQL의 값은 입력 상자가 다시로드 된 이후에 변경되지 않았기 때문에 더 이상 입력 상자 옆에 없다는 것입니다.

자바 스크립트 OnLoad 기능과 같은 것을 사용하고 싶습니다.

<input type=text id=sku1 name=sku1 onchange="showUser(1, this.value)" OnLoad="showUser(1, this.value)" onkeypress="return enter(document.orderform.sku2)" value=<? echo $sku1; ?> > 

그러나 이것은 작동하지 않습니다.

로드 할 때뿐만 아니라 사용자가 입력 상자의 값을 변경하는 경우 javascript를 실행하는 방법에 대한 아이디어가 있습니까?

감사와 안부, 라이언 스미스

+2

자바 스크립트 = 자바) –

답변

1

이 같은 onload 이벤트를 사용할 수 있습니다

<script> 
    var value = document.getElementById('sku1').value; 
    window.onload = function() { showUser(1, value); } 
</script> 
+0

당신은 온로드에 기능을 할당 할 수 있습니다 -의 여기가 할당 반환 값을 함수 - 아마도 정의되지 않았을 것입니다 : 익명의 함수로 값을 감싸서 원하는 것을 얻으십시오. –

+0

onload는 콜백이며, 함수 참조가 아닌 호출 반환을 원합니다. 함수를 반환했을 모자는 사용자를 보여줄 것입니다 –

+0

@TomTu : 나는 오늘이 질문에 비틀 거리며 지금 당신이 실제로 의미했던 것을 이해했습니다, 당신은 맞았습니다, 지금 업데이트되었습니다 :) – Sarfraz

2

사용 jQuery의 문서 준비 방법 또는

1

내가 좋을 것 몸의 온로드에 showUser을 넣어 시도 로드보다 DOMContentReady를 사용하면 이전에 실행될 것이므로 또한 입력 요소가로드 이벤트를 제공하지 않으므로 입력 요소 자체가 아닌 리스너를 문서에 첨부해야합니다 (http://www.w3.org/TR/html4/interact/forms.html). #!의 H-17.4)

그래서, 스크립트 태그, 또는 별도의 자바 스크립트 파일 :

document.addEventListener('DOMContentReady', function(){ 
    showUser(1,document.getElementById('sku1')); 
}) 
관련 문제