2013-07-21 5 views
0
나는이 스크립트를 해결

를 삽입합니다.는 DatePicker에서

var textApptDate = app.createTextBox(); 
    // Text entered in the text box is passed in to apptDate 
    textApptDate.setName('apptDate'); 
    var day = new Date(); 
    day.setDate(day.getDate()+1); 
    textApptDate.setText(Utilities.formatDate(day, "PDT", "MM/dd/yyyy")); 
    grid.setWidget(0, 0, app.createLabel('Appointment Date:')); 
    grid.setWidget(0, 1, textApptDate); 

내가 삽입을위한 DatePicker에서

var day = new Date(); 
    day.setDate(day.getDate()+1); 
    var textApptDate = app.createDateBox().setName('apptDate').setValue(day); 
var handler = app.createServerHandler('change'); 
    handler.addCallbackElement(textApptDate).; 

DataPicker 작업 벌금을 코드를 변경하지만 스크립트가 잘 작동하지 않습니다.

여기서 오류가 있습니까?

도와 주셔서 감사합니다.

일본어 스크립트 라파엘

답변

0

핸들러 함수 (var apptDate = e.parameter.apptDate; )의 최신의 값은 문자열이다. 코드에서 따르는 조작은 해당 문자열을 날짜 객체로 변환합니다.

위젯을 dateBox로 바꾸면 처리기의 var appDate 값은 더 이상 문자열이 아니며 이미 날짜 개체입니다. 따라서 다음과 같은 문자열 조작은 작동하지 않습니다.

당신은이 가능성이 있습니다

  1. 변환이 날짜 객체를 문자열로하고 (이것은 '/ 다시 실행 취소'의 한 종류이기 때문에 그러나 이것은 내 의견에 조금 바보입니다) 그대로 코드를 유지
  2. 이러한 차이점을 고려하여 날짜 개체를 시작 값으로 사용하여 시간 설정으로 직접 이동하십시오 (훨씬 효율적이고 '고급').