2011-08-23 7 views
6

안녕하세요, 저는이 일을하는 데 어려움을 겪고 있습니다. 간단히 말해서 HTML 형식이 제출되면 div를 보여 주려고합니다.양식 제출 후 사업부 숨기기/표시 하시겠습니까?

어떤 도움이 많이 주시면 감사하겠습니다
<head> 

<script type="text/javascript"> 
function showHide() { 
    var div = document.getElementById(hidden_div); 
    if (div.style.display == 'none') { 
    div.style.display = ''; 
    } 
    else { 
    div.style.display = 'none'; 
    } 
} 
</script> 

</head> 


<body> 

<form method="post" name="installer"> 

<label>Home Keyword</label> 
<br /> 
<input type="text" name="hello" value=""> 
<br /> 
<input type="submit" value="" name="submit" onsubmit="showHide()"> 

</form> 

<div id="hidden_div" style="display:none"> 
<p>Show me when form is submitted :) </p> 
</div> 

</body> 

감사합니다 :)

+0

언급 한 바와 같이 당신은 또한 따옴표를 누락 input

<form method="post" name="installer" onsubmit="showHide()"> 

대신 양식 onsubmitshowhide 기능을 넣어해야합니다. 또한 폼의 submit 메소드를 숨길 수 있기 때문에 "submit"를 폼 컨트롤 이름으로 사용하지 마십시오. 위의 경우 * form.submit *은 메서드가 아니라 컨트롤을 참조하므로 호출하면 오류가 발생합니다. – RobG

답변

16

나는 당신이 당신의 document.getElementById("hidden_div") 전화에서 주변에 "hidden_div"를 따옴표없는 것 같아요!

실제로 페이지가 다시 게시되어 페이지의 상태가 재설정되어 hidden_div가 항상 숨겨진 상태로 유지됩니다. AJAX를 통해 양식 제출을 처리하려고합니까? 당신이 의도 된 행동을보고 싶다면

, 당신은 <form> 요소에 showHide() 전화를 이동해야하고, 그 후 false를 반환 :

<form method="post" name="installer" onsubmit="showHide(); return false;"> 

과로 제출 버튼을 떠나 :

<input type="submit" value="" name="submit" /> 

<input /> 버튼 태그를 자동으로 닫지 않았거나 내부에 표시 할 텍스트가 없습니다.

+0

고마워요. 코리 예. 할 일이있는 것처럼 보이네요. 하하 예. 원래 코드 내에서 따옴표가 있지만 번역에서 길을 잃었습니다. 커피를 마셔야한다고 생각합니다. P – Jessica

+0

입력을 "닫을 필요가 없습니다." 태그를 사용하면 OP는 XHTML이 사용되고 있음을 나타내지 않았으며 웹에서 사용하는 것은 극히 드뭅니다. – RobG

+0

@RobG : 나는 그녀가'
'태그로 그렇게하고 있다는 것을 추론했지만, 당신이 옳을 수도 있습니다. –

2

당신은 @Cory이

양식에 태그의 onsubmit 속성을 이동
관련 문제