2013-04-18 2 views
0

15,000 개의 항목을 가져 와서 데이터베이스로 가져 오는 페이지가 있습니다. 각 50 개의 항목 다음에 사용자에게 계속 단추가 제공됩니다. 그것은 서버 (NAS 드라이브가 PHP4를 실행)을로드하지 않도록 아래 스크립트를 느리게하고, PHP 페이지 시간 제한 주위에수록양식 제출 - 자바 스크립트 사용

<form name="contine" method="post" action="<?php echo $continue?>"> 
    <input type="submit" name="Submit" value="Continue"></input> 
</form> 

이는 잘 작동합니다.

$continue에는 스크립트 이름과 가져 오기의 현재 위치가 포함되어 있으므로 제출 후 페이지가 시작됩니다.

사용자가 50 개의 항목을 입력 한 후 계속해서 클릭 할 필요가 없도록이 작업을 수행하려고합니다. 총 15,000 개의 클릭이 발생합니다.

사용해 본 적이 있습니다. header('Location: '.$continue.'/'); 약 3,000 개의 항목을 가져 오려고 시도하는 경우에만 작동하며 그 이상은 반복되며 Chrome은 루핑에 관해 불평합니다.

그래서 저는 입력 버튼을 폼을 제출할 자바 스크립트로 바꿀 수 있기를 바랍니다.

그럴 수 있습니까? 어떻게해야합니까? 일반 JS를 사용

감사합니다 :)

+0

매 x 밀리 초마다 언론을 강요하는 것은 어떻습니까? 'setTimeout (function() { // 강제로 다시 누르거나 양식 제출 }, 500); ' – Andy

+0

레코드의 경우 HTML이 유효하지 않습니다. 다음과 같아야합니다 : 입력 태그가 자동으로 닫히기 때문에'' –

답변

2

사용하여 양식을 제출 (양식에 id="continue"을 추가해야합니다) : jQuery를 사용

document.forms["continue"].submit(); 

, 다음과 같은 코드를 사용하여 양식을 제출할 수 있습니다

$('form[name="continue"]').submit(); 
+0

감사합니다 이것이 작동하는 것 같습니다 :) – JeffVader

1

양식을 제출하기 만하면됩니다. 또한 사용자가 제한 시간 내에이 작업을 수행하여 사용자가 프로세스를 취소 할 수 있습니다.

0

Location 호출 전에 sleep 명령을 넣고 시간 스탬프를 값으로하여 임의의 문자열 get 변수에 추가하여 브라우저가보다 명확한 쿼리 문자열을 볼 수 있도록 할 수 있습니다. 분명히 당신의 스크립트는 무작위 변수를 무시할 수 있습니다 ...

관련 문제