양식 제출 작업에 문제가 있습니다. 나는 폼의 작업 속성을 동적으로 변경하기 위해 preventDefault 을 사용하고 있지만, 버튼을 클릭하면 아무 것도하지 않고 아이디어가 부족합니다. 이 될 수 있습니다. 누구든지 모양을 가지고 내가 잘못 간 곳을 가르쳐 주시겠습니까?jQuery가 작동하지 않는 양식 제출
JS :
여기서 코드의
$j('select[id=subtype]').live('change',function(){
var stype = $j(this).val();
var styp_pos = $j.inArray(stype, styp_id_arr);
var styp_url = styp_url_arr[styp_pos];
$j('input[id=styp_url]').val(styp_url);
});
$j('button[id=frm_submit]').click(function(event){
event.preventDefault();
var full_url = typ_url + '-' + styp_url + '.html';
alert(full_url);
$j('form[id=type_sel_form]').attr("action", full_url);
$j('form[id=type_sel_form]').submit();
});
HTML :
<form id="type_sel_form" name="type_sel" class="stsel_form" action="subtype.php" method="post">
...
<button id="frm_submit" type="submit" class="st_button">View</button>
</form>
EDIT : 제 버전 오타 수정 구비하고 방화범 통해 코드를 실행할 때 후, typ_url이 정의되지 않았다는 오류 메시지가 나타납니다. 제출하기 전에 실행되는 액션 (JS 코드의 첫 번째 부분) 중에이를 정의했습니다. 버튼을 클릭해도 아무런 변화가없는 이유가 될 수 있습니까?
$j.('form[id=type_sel_form]').attr("action", full_url);
$j.('form[id=type_sel_form]').submit();
속으로 :
오타를 찾아 주셔서 감사합니다. 나는 그것을 정정하고 이에 따라 질문을 편집했다. – Argoron
첫 번째 함수 내에 정의 된 변수는 두 번째 함수에서 볼 수 없습니다. jsfiddle.net에서하고 싶은 일의 예를 들려주십시오. 그렇지 않으면 첫 번째 함수 위로 이동하여 변수를 전역으로 만들 수 있습니다. 그러나 이것은 코드 냄새 일 수 있습니다. –
변수 정의 문제가있는 다른 게시물을 조사하여 해결책을 찾았습니다. "문서 준비"외부의 변수를 "= null"로 선언 한 다음 위와 같이 다시 선언하면 이제 작동합니다. 나를 옳은 길에 올려 줘서 고마워! – Argoron