2011-02-18 2 views
-1

나는 다음 코드를 가지고 있으며 그 자체로 잘 동작하지만 수백 개의 레코드가있을 수 있으므로 PHP while 루프에서 사용해야합니다. 작동하지 않습니다. 즉, 양식을 제출하지 않음을 의미합니다.onChange = "document.myform.submit() and PHP while loop

이 코드에 대한 도움이나 다른 아이디어가 도움이 될 것입니다. 또한 mysql DB에 새로운 값을 써야합니다. 자바 스크립트와 초보자.

감사

<form action="home.php" method="post" name="status"> 
    <input type="hidden" name="record_number" value="<? echo $r['record_number']; ?>"> 
    <input type="hidden" name="submit" value="cstatus"> 
    <select name="statuscode" type="dropdown" style="font-size: 8pt; width: 60px" onChange="status.submit();"> 
     <? if($r['statuscode']) { echo "<option value='".$r['statuscode']."'>".$r['statuscode']."</option>"; } ?> 
     <option value='Open'>Open</option>  
     <option value='Closed'>Closed</option> 
     <option value='Pending'>Pending</option>   
     <option value='Cancelled'>Cancelled</option> 
    </select> 
</form> 
+2

당신이 질문을 다시 쓸 수 있을까요? –

+0

당신은 실제로 진지한가? 당신이 이것을 이해할 수 없다면 나는이 포럼에서 당신이 응답 한 '모든'질문에주의를 기울일 것입니다. – Confused

답변

1
onChange="status.submit();" 
,

상태가 정의되지 않았습니다. 레거시 Internet Explorer의 기발함에 따라 이름이있는 요소의 전역을 만드는 것처럼 들리는 것 같습니다.

빠른 수정은 다음과 같습니다

document.createElement('form').submit.call(this.form); 

(가 엉망을 만들어, 기존의 속성과 동일한 이름 일을 피하기) 이미 제출할라는 입력이 있기 때문에,

this.form.submit(); 

또는 그 UI로, 자동으로 양식을 제출하는 드롭 다운 메뉴는 끔찍하며, JS에 의존하는 것은 좋지 않은 접근이라고 말했다.

각 옵션에 제출 버튼이있는 경우 (최대 5 개까지만 가능) 조금 더 많은 공간을 차지하지만 한 번의 클릭으로 문제를 해결할 수 있습니다.

<input type="submit" name="statuscode" value="Open"> 
<input type="submit" name="statuscode" value="Closed"> 
<input type="submit" name="statuscode" value="Pending"> 
<input type="submit" name="statuscode" value="Cancelled"> 
+0

'this.status.submit();'가 작동하지 않습니다. –

+0

Drat. 그게 내가 앞을 서두르는거야. 고쳤다. 가난한 IE4 Javascript의 확산을 막는 데 도움이되는 – Quentin

+0

+1. –

1

이 내 상황에서 완벽하게 작동합니다 : 실제로 sence 수 있도록

<select ... onChange="this.form.submit();">