주 페이지 scada.php와 하위 페이지 site.php라는 두 개의 파일이 있습니다. 그런 다음 JS와 함께 검색
<?php
$site = $_POST["sitename"];
echo "<title id='title'>".$site."</title>";
?>
페이지에 표시하고 데이터베이스 쿼리에 사용할 :
<FORM action="site.php" method="post">
<li><td class="normal"><input type="image" name="sitename"
value="Dublin" src="radiotower.jpg" alt="Dublin" title="Dublin"/>
Dublin
</td></li>
</form>
Site.php 여기 사이트의 이름에 액세스 : Scada.php이 같은 링크가 포함되어 있습니다 :
<script>
var site = document.getElementById("title").innerHTML;
document.getElementById("alert").innerHTML = "<h2>"+site+"</h2>";
</script>
가 나는 확실히 그것은 단지 이름 ("더블린")가 아닌 HTML 제목 태그의 문자를 포함있어 할 사이트 이름의 문자열 길이를 확인하고, 길이는 6 자에서 올바른 것입니다.
Chrome에서 정상적으로 작동합니다. 모든 것이 부드럽고 예상대로 실행됩니다. IE와 Firefox에서는 "sitename"이 정의되지 않은 색인이라는 오류를 발행합니다. site.php의 전역 변수에 대해 vardump를 실행했는데 결과적으로 Chrome에서 3 개의 변수 (sitename_x, sitename_y 및 sitename)가 나타납니다. Firefox와 IE는 2 (sitename_x와 sitename_y) 만 표시하고 sitename은 누락됩니다.
파이어 폭스와 IE에서만 발생하는 $ _POST 문제를 검색 한 결과 유용한 정보를 찾지 못했습니다. 누군가가 제출 버튼을 누르지 않았다고 언급했으나 페이지와 상호 작용하는 유일한 방법은 입력 버튼을 누르는 것이기 때문에 문제는 아닙니다. 어디에서 변하기 쉬운 sitename는 분실되는 곳에인가 ??
편집 : 초기에는 조금 명확하지 않았습니다. 양식은 여러 입력을 포함, 그래서 이것은 더 정확 : 예상 값이 "더블린"인 경우
가<FORM action="site.php" method="post">
<li><td class="normal"><input type="image" name="sitename" value="Dublin"
src="radiotower.jpg" alt="Dublin" title="Dublin"/>
Dublin
</td></li>
<li><td class="normal"><input type="image" name="sitename" value="Temple"
src="radiotower.jpg" alt="Temple" title="Temple"/>
Temple
</td></li>
</FORM>
이러한 값이 포함되어 있다고 생각하지 않습니다. 이미지 양식 입력에 그런 방식으로 의존 할 수 없습니다. 삶을 편하게 만들고, 양식에 을 추가하고 해당 변수 ($ _POST [ 'site'])를 사용하십시오 :) – niaccurshi
niaccurshi - Chrome 's 행동은 실제로 표준을 따르지 않습니다. [이 게시물을 참조하십시오 (http://stackoverflow.com/questions/5681837/cant-find-an-input-type-image-value-in-post) –