2011-09-06 3 views
0

변수 checkedones이 AJAX.Updater에 전달되지 않습니다.자바 스크립트 함수에 범위 문제가 있습니다.

item.value는 값을보고하므로 거기에 뭔가 있어야한다는 것을 알았지 만 마지막 경고에 도달했을 때 t pland로 남았습니다.

어떻게 수정/개선 할 수 있습니까? var checkedones = checkedones + item.value + ',';

에 : checkedones += (item.value + ',');

당신이 다시 선언 한 루프 내에서 var를 사용하여

function sendemail(){ 
     var checkedones=''; 
     var i= $$('.emailer'); 
     i.each(function(item) 
       { 

        if(item.checked){ 
        alert(item.value); 
        alert(item.checked); 
        var checkedones = checkedones + item.value + ','; 
        } 
       } 
     ) 
     alert(checkedones); 
     new Ajax.Updater('asdfa', 'pages/domailing.php', { 
    method:'post',evalScripts:'true' ,parameters: { 
    subject1:$('subject1').value, 
subject2:$('subject2').value, 
body:tinyMCE.get('emailbody').getContent(), 
value:checkedones}, 
evalJS:'force', 
onComplete:function(){} 
     }); 
    } 

답변

2

을 변경해보십시오.

+0

브릴리언트. 그리고 훨씬 더 우아한. 빠른 답변 감사합니다. – BostonMacOSX

관련 문제