'form.submit();'이 (가)있는 모든 인스턴스를 동적으로 변경하려고합니다. $ ('form')에 대한 특정 select 요소에 대한 onchange 함수에 나타납니다. 양식 자체에 대해 제출 이벤트가 트리거됩니다. 여기 onchange 함수의 동적 업데이트 문제
은 onchange를 기능을 업데이트해야하는 등의 선택 목록의 예 : 나는이 기능을 시도하고 업데이트 할 페이지의 헤더 섹션에 다음을 삽입<td class="form-field selectinput" align="left" valign="left" style="width: 90px;" title="Select status type">
<select class="filterlist" name="cStatus" tabindex="5" style="width: 90px;" onchange="form.submit();">
<option value="" title="[All]">[All]</option>
<option value="A" title="Authorised">Authorised</option>
<option value="C" selected="" title="Cancelled">Cancelled</option>
<option value="U" title="Declined">Declined</option>
<option value="R" title="Requested">Requested</option>
<option value="T" title="Taken">Taken</option>
<option value="W" title="Withdrawn">Withdrawn</option>
</select>
</td>
:
$(document).ready(function(){
$(function() {
$('select').each(function() {
var txt = this.onchange ;
alert(txt);
var patt=/form.submit()/g;
var result=patt.test(txt);
if (result) {
var txt = txt.replace('form.submit()',"");
this.onchange = eval(txt);
}
});
});
을
});
경고 메시지와 함께 제공 :
function onchange(event) { form.submit(); } Blockquote
다음 콘솔 로그에 다음 오류가 보여줍니다
this.onchange = function() { $('form').submit(); }
: 나는 실제로는 다음과 같은 작업을 얻을 수
Uncaught TypeError: Object function onchange(event) { form.submit(); } has no method 'replace'
그러나 onchange에 form.submit()과 함께 다른 코드가있는 경우가 있습니다. 같은 : 그래서
form.submit();form.iYear.disabled=true;form.cGroupItem.disabled=true;
내가 전체 함수 자체를 교체하지만, 잘라 싶지 않아 'form.submit를();' 와 '$ ('양식 ')로 교체,,로 위의 다음 나타납니다 그래서) (제출합니다.'난() 다양한 장소에서하지만 언제 toString() 및 평가 후면을 사용하려고했습니다
$('form').submit();form.iYear.disabled=true;form.cGroupItem.disabled=true;
나는 문자열 txt를 편집하려고하는데, 객체를 계속 가져 오는 중에 메소드 오류가 발생하지 않습니다.
어떤 아이디어 ??
더 빠른 답변을 위해, 당신은 편집 링크를 클릭하여 사용하는 언어 (? 자바 스크립트)에 해당하는 태그를 추가해야합니다 귀하의 질문 아래. – assylias
onchange는 문자열이 아닙니다. 함수이기 때문에 "... 대체 방법이 없습니다"오류가 발생합니다. 경고를 사용할 때 문자열로 강제 변환됩니다. – Steve
steve, 함수가 문자열로 조작 될 수있는 방법이 있습니까? 그것은 경고를 사용하는 것 이외의 문자열로 강제 수 있습니까 ?? –