2011-04-20 7 views
0

여기에 제 시나리오가 있습니다. 사용자에게 루프에서 데이터베이스에서 검색 한 테스트 테이블을 제공하고 각 테스트 (테이블 행)에 대한 양식을 생성했습니다. 따라서 각 테스트에는 특정 테스트를 실행하기위한 제출 버튼이 있습니다. 내 루프의암호를 동적으로 확인하는 문제가 발생했습니다

기본 :

내가 뭘하려고 오전
while ($ts = mysql_fetch_assoc($test_info)) 
{ 
//PRESENT VALUES $ts['name'] in table within a unique form etc. 
} 

과 실패가 확인하는 JS 기능을 실행하려면 테스트 버튼을 제출 특정 클릭에,이다; 테스트에 암호가 첨부 된 경우 암호 입력을위한 팝업 양식을 제시하고 원본 양식을 제출하는 경우 암호가 올바른지 확인하기 위해 작은 양식 검사를 제출하십시오.

제 문제는 자바 스크립트에서 해당 양식에 첨부 된 암호 값을 구문 분석 할 수 없다는 것입니다.

그렇게 이상적으로는이 작업을 수행 할 수 :

<input id='submit' type='button' onclick='JSfunction(test_password)' value='execute test' > 

그래서 어떻게 든 실제로 양식을 제출하지 않고 자바 스크립트 함수에 특정 형식에서 값을 구문 분석 할 수 있습니다.

저는 JS 함수에서 나머지를 수행하는 방법을 알고 있습니다.

누군가가 내 가난한 설명을 따르고 올바른 방향으로 나를 가리킬 수 있기를 바랍니다.

많은 감사, 형태가 그와 연관된 암호를해야 할 때

답변

0

,은 다음 추가 : 자체입니다

<input type="hidden" name="has_password" value="yes" /> 
<input type="hidden" name="password" value="" /> 

그런 다음, 제출 버튼에 의해 트리거 수표에 (버튼을 가정 this 컨텍스트) :

if ($(this).parent().find(':input:hidden[name=has_password]').val() == 'yes') { 
    // pop password request 
    return false; 
} 

당신은 현재 양식의 컨텍스트를 저장하는 방법이 필요합니다, 그리고 만약 당신이 좋아하면, 나는 몇 가지를 제안 할 수 있지만, 캘리포니아 그런 다음 비밀 번호를 숨겨진 필드에 채우고 정상적으로 제출하십시오. 그런데 제출 버튼의 onClick 대신 onSubmit을 사용하는 것이 좋습니다. onSubmit은 제출 작업을 수행하기 위해 스크립트의 시도를 포착합니다. 이 경우 <form> 요소가 this 컨텍스트 여야하므로 위의 .parent() 부분 만 제거하면됩니다.

+0

비슷한 방식으로 양식의 값에 액세스 할 수 있습니까? 그래서'has_password'가 'yes'라는 것을 확인하면, 폼의 테스트 이름을 사용하여 데이터베이스에서 실제 비밀번호를 가져올 수 있습니다. 그것이 의미가있는 경우 : S – buymypies

+0

나는 당신이하고있는 것에 대해 무슨 말을하는지 잘 모릅니다. 클라이언트 측에서 비교를 원한다는 뜻입니까? 그건 좋은 생각이 아니야. 나는 당신이 패스워드를 묻는 일반 shadowbox를 띄우고, 숨겨진 패스워드 필드를 채운 다음, 관련 폼에서'submit()'메소드를 호출한다고 가정했다. 정확히 무엇을하고 싶습니까? – Dereleased

관련 문제