最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - ReferenceError: invalid assignment left-hand side - Stack Overflow

programmeradmin3浏览0评论

What's wrong in the next code? It is inside $dialogContent.dialog

buttons: {
                       save : function() {

                          calEvent.start = new Date(startdateField+' '+starttimeField.val());  // 11/25/2012 15:00
                          calEvent.end = new Date(endField.val());  
                          if($('#script_all_stores_false').attr('checked')) { /*clearChildren(document.getElementById('days'));*/ frequency_as_dayField.val() = 99; }
                        // если не заполнено поле recurring_start, то заполнить его текущей датой начала события
                          if(recurring_startField.val()!='') calEvent.recurring_start = new Date(recurring_startField.val()); else calEvent.recurring_start = new Date(startdateField+' '+starttimeField.val());
                        // если не заполнено поле recurring_end, то заполнить его текущей датой + 1год (логика: уроки вряд ли держатся в расписании больше года, когда преподаватель определится до какого числа будут занятия с этой группой, он заполнит нужной датой)  
                          var startDate = new Date(startdateField+' '+starttimeField.val()); //calEvent.recurring_start;??
                            if(recurring_endField.val()!='') calEvent.recurring_end = new Date(recurring_endField.val());
                            else if(recurring_endField.val()=='' && $("#script_all_stores_true").is(":checked")/*&& recurring_startField.val()!=''*/) calEvent.recurring_end = new Date( startDate.setDate(startDate.getDate() + 365) );
                            calEvent.frequency_as_day = frequency_as_dayField.val();
var my_query_str = ''; 
                            $dialogContent.find("input[type='checkbox'][name='days']").each( function() { 
                                if(this.checked) { my_query_str += "&bookArray[]=" + 1; }
                                else { my_query_str += "&bookArray[]=" + 0; }
                            });

                          calEvent.days = my_query_str; 
                          calEvent.title = titleField.val();
                          calEvent.body = bodyField.val();
                          calEvent.teacher_id = teacherField.val();  
    ...

Firebug says:

ReferenceError: invalid assignment left-hand side
[Break On This Error]   

...e').attr('checked')) { /*clearChildren(document.getElementById('days'));*/ frequ...

if I change frequency_as_dayField.val() = 99; to var frequency_as_dayField = 99;

firebug says:

TypeError: frequency_as_dayField.val is not a function
[Break On This Error]   

calEvent.frequency_as_day = frequency_as_dayField.val();

I'm bad in javascript, sorry. Please, help(

What's wrong in the next code? It is inside $dialogContent.dialog

buttons: {
                       save : function() {

                          calEvent.start = new Date(startdateField+' '+starttimeField.val());  // 11/25/2012 15:00
                          calEvent.end = new Date(endField.val());  
                          if($('#script_all_stores_false').attr('checked')) { /*clearChildren(document.getElementById('days'));*/ frequency_as_dayField.val() = 99; }
                        // если не заполнено поле recurring_start, то заполнить его текущей датой начала события
                          if(recurring_startField.val()!='') calEvent.recurring_start = new Date(recurring_startField.val()); else calEvent.recurring_start = new Date(startdateField+' '+starttimeField.val());
                        // если не заполнено поле recurring_end, то заполнить его текущей датой + 1год (логика: уроки вряд ли держатся в расписании больше года, когда преподаватель определится до какого числа будут занятия с этой группой, он заполнит нужной датой)  
                          var startDate = new Date(startdateField+' '+starttimeField.val()); //calEvent.recurring_start;??
                            if(recurring_endField.val()!='') calEvent.recurring_end = new Date(recurring_endField.val());
                            else if(recurring_endField.val()=='' && $("#script_all_stores_true").is(":checked")/*&& recurring_startField.val()!=''*/) calEvent.recurring_end = new Date( startDate.setDate(startDate.getDate() + 365) );
                            calEvent.frequency_as_day = frequency_as_dayField.val();
var my_query_str = ''; 
                            $dialogContent.find("input[type='checkbox'][name='days']").each( function() { 
                                if(this.checked) { my_query_str += "&bookArray[]=" + 1; }
                                else { my_query_str += "&bookArray[]=" + 0; }
                            });

                          calEvent.days = my_query_str; 
                          calEvent.title = titleField.val();
                          calEvent.body = bodyField.val();
                          calEvent.teacher_id = teacherField.val();  
    ...

Firebug says:

ReferenceError: invalid assignment left-hand side
[Break On This Error]   

...e').attr('checked')) { /*clearChildren(document.getElementById('days'));*/ frequ...

if I change frequency_as_dayField.val() = 99; to var frequency_as_dayField = 99;

firebug says:

TypeError: frequency_as_dayField.val is not a function
[Break On This Error]   

calEvent.frequency_as_day = frequency_as_dayField.val();

I'm bad in javascript, sorry. Please, help(

Share Improve this question asked Nov 10, 2012 at 18:38 almixalmix 2891 gold badge9 silver badges23 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 12

You need to pass a value to .val(), not assign a value to whatever is returned.

if($('#script_all_stores_false').attr('checked')) {  
   /*clearChildren(document.getElementById('days'));*/ 
   frequency_as_dayField.val(99) /* = 99*/ ; 
         // good-------------^       ^-------------bad
}
发布评论

评论列表(0)

  1. 暂无评论