2012-08-30 1 views
0

나는 미치겠다고 생각한다. true/false는 doPost 이전에 액세스 할 수있는 모든 것임에 따라 라디오 버튼의 값을 확인하려고 시도하면서 핸들러 e.parameter 조합을 사용하고 있습니다. working version은 다음과 같습니다.RadioButton이 값을 전달하지만 6 번째에 실패합니까?

제 6 단추를 추가하고 확인하려고하면 여섯 번째 e.parameter가 정의되지 않은 상태로 반환됩니다. 나는 내가 생각할 수있는 모든 것을 시도했다. 여기에 non-working version

나는 완전히 잃어 버렸습니다.

여기 깨진 코드입니다 :

function doGet(){ 
var app = UiApp.createApplication(); 
var form = app.createFormPanel().setId('form'); 
var appPanel = app.createVerticalPanel(); 

var programGrid = app.createGrid(6,5).setWidth('900px'); 

var programButton1 = app.createRadioButton("program", "Spring 1").setFormValue('Spring 1').setName('program1').setId('program1'); 
var programButton2 = app.createRadioButton("program", "Spring 2").setFormValue('Spring 2').setName('program2').setId('program2'); 
var programButton3 = app.createRadioButton("program", "Spring 3").setFormValue('Spring 3').setName('program3').setId('program3'); 
var programButton4 = app.createRadioButton("program", "Summer 1").setFormValue('Summer 1').setName('program4').setId('program4'); 
var programButton5 = app.createRadioButton("program", "Summer 2").setFormValue('Summer 2').setName('program5').setId('program5'); 
var programButton6 = app.createRadioButton("program", "Summer 3").setFormValue('Summer 3').setName('program6').setId('program6'); 
programGrid.setWidget(0,1, programButton1); 
programGrid.setWidget(1,1, programButton2); 
programGrid.setWidget(2,1, programButton3); 
programGrid.setWidget(0,3, programButton4); 
programGrid.setWidget(1,3, programButton5); 
programGrid.setWidget(2,3, programButton6); 


var button1 = app.createButton("Verify Input").setEnabled(true); 
programGrid.setWidget(4,3, button1); 

var syncChangeHandler = app.createServerHandler('syncText').addCallbackElement(form); 

var reviewPanel = app.createVerticalPanel().setVisible(true).setId('reviewPanel'); 
var reviewLabel = app.createLabel("REVIEW PANEL") 

var reviewProgramLabel = app.createLabel("Program Selected:"); 
var reviewProgram = app.createLabel().setId('reviewProgram'); 

var reviewProgramGrid = app.createGrid(2,2); 

reviewProgramGrid.setWidget(1,0, reviewProgramLabel); 
reviewProgramGrid.setWidget(1,1, reviewProgram); 

reviewPanel.add(reviewProgramGrid); 

button1.addClickHandler(syncChangeHandler); 

app.add(form); 
form.add(appPanel); 
appPanel.add(programGrid); 
appPanel.add(reviewPanel); 

return app; 
} 

function syncText(e){ 
    var app = UiApp.getActiveApplication(); 
    var a = e.parameter.program1; 
    var b = e.parameter.program2; 
    var c = e.parameter.program3; 
    var d = e.parameter.program4; 
    var e = e.parameter.program5; 
    var f = e.parameter.program6; 

    if(a == "true") 
    { 
    var g = "Spring 1"; 
    } 

    if(b == "true") 
    { 
    var g = "Spring 2"; 
    } 

    if(c == "true") 
    { 
    var g = "Spring 3"; 
    } 
    if(d == "true") 
    { 
    var g = "Summer 1"; 
    } 

    if(e == "true") 
    { 
    var g = "Summer 2"; 
    } 

    if(f == "true") 
    { 
    var g = "Summer 3"; 
    } 
    app.getElementById('reviewProgram').setText(g); 

return app; 
} 

답변

2

문제는 여기에있다 :하여 문제가 발생하는 것을

var e = e.parameter.program5; 
var f = e.parameter.program6; 

당신은 전자 덤비는, 후에 있습니다.

다른 변수 이름을 사용하십시오.

+0

분명하지만 올바르게 처리됩니다. 고맙습니다. 긴 하루! – MartinK

관련 문제