2010-07-21 2 views
0

나는 이것을 알고 아마 내 얼굴을보고 있지만 : onSubmit 다시로드로 false를 반환하는 이유는 무엇입니까?

내가의 헤더에 대한에 대한 기본이 :

<form onSubmit="return validateClinicalReports();" name="clinicalreport" method="post" action="process.php" enctype="multipart/form-data"> 

JS 것은 사용하여 각 입력에서 보이는 : document.getElementById를 ("이름"). 입력이 비어있는 것으로 확인되면 입력 노란색으로 색을 지정하고 선택하고 초점을 맞 춥니 다. 아주 간단하게, 내가 다른 입력을 가진 다른 양식을 사용 : 말 그대로 다른 함수에서 것을 복사

if(name == "") 
    { 
     document.getElementById("name").style.backgroundColor = "yellow"; 
     document.getElementById("name").select(); 
     document.getElementById("name").focus(); 
     return false; 
    } 

(단지 이름 변수 및 ID를 변경). 제출할 때 빈 입력이 노란색으로 표시되는 것을 볼 수 있습니다. 그런 다음 전체 양식을 다시로드합니다. 내 다른 양식은 잘 작동합니다.

아이디어가 있으십니까?

+0

window.name이 실제 변수이므로 "name"을 변수 또는 id로 사용하지 마십시오. 대신 FirstName 또는 – mplungjan

답변

0

은 서둘러 도착하고 같이 입력 ID 이름 ::: headdeask :::

0

태그의 onsubmit 핸들러는 매개 변수없이 validateClinicalReports()를 호출을 미리 설정 한 키워드를 사용해서는 안 밝혀졌습니다. 완전한 함수는 포함하지 않았지만 "이름"변수는 무엇이고 어디에서 오는 것입니까?

내 생각에 "if (name ==" ")"코드가 전혀 실행되지 않습니다. if 본문의 첫 번째 문으로 alert() 호출을 추가하여 호출되고 있는지 확인할 수 있습니다. if() 테스트를 완전히 제거하고 항상 코드를 실행할 수 있습니다.

또한 getElementById()를 사용하려면 "id = name"을 양식 태그에 추가해야합니다.

+0

이라고 부르면 validateClinicalReports는이 경우 매개 변수가 필요하지 않습니다. if 문 내부의 변수 값을 가져 오기 때문에 아무 것도 전달할 필요가 없습니다. name 변수는이 질문에서 모든 변수의 자리 표시 자로 사용 된 예제 일뿐입니다. "location"을 변수로 사용했습니다. 나는 그것을 "loc"으로 바꿨고 효과가있었습니다. – dcp3450