2010-06-13 4 views
1

그래, 최대한 자세히 설명하려고합니다.document.getElementById ('form_name'). submit()이 제대로 작동하지 않습니다.

사이트는 IE6에서 사용할 수 있도록 제공되지 않습니다. Internet Explorer 8과 Chrome에서 작동하는 것이 좋겠지 만 나중에 수행 할 수 있습니다.

사이트는 PHP입니다. submit이 DIV 태그 안의 index.php의 위치에 포함 된 다른 PHP 파일에있는 양식.

양식을 전적으로 열면 제출이 올바로 작동하지만 색인 페이지에서 제출하려고하면 Firefox 오류 콘솔에 해당 문서가 정의되지 않았다고 표시됩니다. 양식 코드는 PHP를 통해 한 줄씩 출력됩니다. 사용자 이름과 암호의 텍스트 필드를 저장하면 양식 코드는 다음과 같습니다.

<form id="entrar" action="entrar.php" method="post" onsubmit="javascript:checkvalues();"> 
    <a href="javascript:document.getElementById('entrar').submit();">ENTRAR</a> 
</form> 

무엇이 중요합니까? 내가 여기서 무엇을 놓치고 있니? 나는 그것이 매우 어리석은 것을 안다. 그러나 나는 그것을 이해할 수 없다.

+0

페이지의 원본을 확인하고 동일한 ID를 가진 다른 요소가 없는지 확인하십시오. – TheDeadMedic

+0

Ewww! 링크를 사용하여 양식을 제출하지 마십시오! 그건 단순히 Enter 키를 눌러 제출하는 데 익숙한 사람들을 화나게 할뿐입니다! 제출 버튼을 사용하십시오! – animuson

+0

요즘 앵커의 href에 자바 스크립트를 배치하는 것은 좋지 않습니다. 또한 로직에서 마크 업을 분리하는 것이 좋습니다. 모든 브라우저에서 스크립트를 작동시키는 데 문제가 있다면 jQuery가 매우 유용 할 것입니다. –

답변

3

jQuery가 대답하기 전에.

<form id="entrar" action="entrar.php" method="post" onsubmit="javascript:checkvalues();"> 
    <a id="entrar-link" href="#">ENTRAR</a> 
</form> 

<script> 
(function() { 
var entrar = document.getElementById('entrar'), 
link = document.getElementById('entrar-link'); 

link.onclick=function() { entrar.submit() } 

})(); 
</script> 

결론은 자바 스크립트를 실행하는 href를 사용하지 말아입니다. (스크립트 요소 내에서) 눈에 띄지 않게하십시오. script이 마크 업 이후에 오는지 확인하거나 머리에 넣으려는 경우 window load/dom ready에서 함수를 호출하십시오. 그냥 왜 그랬는지

하지만 솔직히 모르겠어요

<input type=submit value=go> 

당신도 아마 당신이 얼마나 확실하지 않은 경우에 대한 input type=image를 사용할 수있는 몇 가지 기괴한 문체의 목적을 위해이 일을하지 않는 한 제출 양식의 스타일을 올바로 지정합니다.

+0

입력 버튼을 사용할 수 없습니다. 불행히도 저에게는 웹 페이지의 레이아웃에 대한 책임이 없으며 클라이언트는 텍스트 링크를 원합니다. 나는 자바 스크립트 아이디어를 떨어 뜨리고 텍스트로 제출 버튼을 restyling CSS 경로로 이동하려고합니다. –

+0

웹 마스터가 원하는 정보가 아니어야 사용자에게 가장 편리한 정보가 있어야합니다. 실제로 이익을 가져올 사람들. – animuson

관련 문제