양식 제출 이벤트 핸들러에 문제가 있습니다. 여기에 내가 jQuery를 1.4.2Jquery 1.4.2 양식 제출 이벤트 핸들러가 IE 7/8에 양식 제출 후 실행 중입니다.
<FORM id="mysearchform" method="get" action="http://www.abc.com/results.aspx?q=" target=_blank sizcache="1694" sizset="0" jQuery1347023310528="3">
<DIV class="search">
<span><span>
<LABEL class=hide for=q>Search:</LABEL>
<INPUT accessKey=S id="a" class="abc" name="a" maxLength="50" value="Images" size=69 type="search" autocomplete="off" selectionStart="0" jQuery1347023310528="108">
<INPUT style="WIDTH: 185px; HEIGHT: 33px" class="img" title="Search" alt="Search" value="Search" src="http://dummyimage.com/180x35" type=image>
<INPUT name="form" value="abcd" type="hidden"></SPAN></SPAN></DIV>
</FORM>
내가 폼 입력 요소 및 ID 텍스트 상자의 값의 값을 변경하는 데 사용됩니다 mysearchform에 대한 하나의 이벤트 핸들러를 사용하고 내 코드 이다 "는"양식 있도록 나는 텍스트 상자 즉,의 값을 변경할 수 있습니다 제출할 내가 "A"및 양식 입력 요소에 대한 값을 변경하고, mysubmitHandler에서
$("#mysearchform").submit(mysubmitHandler);
(추가 값을 추가). 이 코드는 IE9, FF 4.0 및 최신 크롬 버전에서 잘 작동합니다. 그러나 IE 7과 IE8에서는 "mysubmitHandler"에 오기 전에 새로운 창이 열리고 있습니다 (새 창에서 검색 결과를 보여줍니다). 그래서 내 변경 사항은 검색 창에 쿼리 문자열에 추가되지 않습니다.
다른 브라우저에서는 "mysubmitHandler"가 먼저 실행되고 새 창이 열립니다.
당신이 당신의 jQuery 코드를 게시 할 수 다음은 문제를 해결 무엇을 내 설정에? –
var searchForm = $ ("# mysearchform"); searchForm.submit (onSubmit); function onSubmit() { var $ formElement = $ ("input [name = form]", $ (this)); $ formElement.attr ("value", ($ ("# a"). val() + "search")); } 그러나 양식 제출 후이 코드는 중요하지 않습니다. 말하자면, 새 페이지가 탭에서 열리고 내 처리기가 호출되는 것을 의미하며 이는 내 변경 사항을 반영하지 않습니다. –
jQuery 1.4.2, 복고풍 스타일 .... – Gabe