变量checkedones没有传递给AJAX.Updater。

item.value正在报告一个值,因此我知道那里应该有东西,但是当我到达最后一个警报时,我只是计划了一下。

如何解决/改进?

    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(){}
        });
    }

最佳答案

尝试更改:var checkedones = checkedones + item.value + ',';

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

您已在循环内使用var重新声明了。

关于javascript - 我在使用javascript函数时遇到范围问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7313884/

10-12 13:43