2011-08-21 4 views
0

Zend FrameworkプロジェクトでJavaScriptとDojoに問題があります。私はZendのFormによって作成された4つのスライダ(Horizo​​ntalSlider)を得ました。すべてのスライダが他の値を取得し、この値をスライダの近くに表示したい。JavascriptがZend FrameworkのDojoをクラッシュする

あまりに
$cena->setAttrib('onChange','getText()'); 

いけない仕事:それを変更

$this->addElement(
      'HorizontalSlider', 'cena', array(   
     'label' => 'Maksymalna cena', 
     'value' => 2000, 
     'onchange' =>"getText()" 
     'minimum' => 400, 
     'maximum' => 2000,   
     'discreteValues' => $discrete, 
     'intermediateChanges' => false, 
     'showButtons' => false, 
     'topDecorationDijit' => 'HorizontalRuleLabels', 
     'topDecorationContainer' => 'topContainer', 
     'bottomDecorationDijit' => 'HorizontalRule', 
     'bottomDecorationContainer' => 'bottomContainer', 
     'bottomDecorationLabels' => array(
      '400zł', 
      '1200zł', 
      '2000zł' 
     ), 
      ) 
    ); 

:Zendの中

function getText(){ 
    var cena = document.getElementById("slider-400") 
    var waga = document.getElementById("slider-100") 
    var bateria = document.getElementById("slider-700") 
    var cale = document.getElementById("slider-1") 
    var div = document.getElementById("znajdz-contents") 
    div.innerHTML = "Cena : "+(Round(cena.value,2))+" <br/>" + "Waga : "+(Round(waga.value,2))+" <br/>" + "Bateria : "+(Round(bateria.value,2))+" <br/>" + "Wyswietlacz : "+(Round(cale.value,2))+" <br/>" 
} 

とフォームで:だから私は、JSのコードを得ました。私はこの行を削除するとすべてが動作します。 これは動作しますが、Submitを押すと、静的な値がcena-2000になります.JSは適切な値を示します。どうしましたか?助けたり、私はここで死ぬください...:/

+0

問題を解決した場合は、回答を書いてそれを受け入れます。 **解決策は質問には入りません** –

答えて

0

クイック構文エラー注:あなたの関数は、すべての行の末尾に;が欠落しています。これが役立つかもしれません。

function getText(){ 
    var cena = document.getElementById("slider-400"); 
    var waga = document.getElementById("slider-100"); 
    var bateria = document.getElementById("slider-700"); 
    var cale = document.getElementById("slider-1"); 
    var div = document.getElementById("znajdz-contents"); 
    div.innerHTML = "Cena : "+Round(cena.value,2).ToString()+" <br/>" + 
        "Waga : "+Round(waga.value,2).ToString()+" <br/>" + 
        "Bateria : "+Round(bateria.value,2).ToString()+" <br/>" + 
        "Wyswietlacz : "+Round(cale.value,2).ToString()+" <br/>"; 
} 
+0

まだ同じです。もし私が "'onchange' =>" getText() "を削除すると、"すべてが動作します。同じ問題。 "$ cena-> setAttrib( 'onChange'、 'getText()');を追加すると、 – Damian

+0

私はzendの仕組みが分かりませんが、引用符なしで 'onchange' => getTextを試してみてください - それは関数ポインタです... – Hogan

+0

ホーガン - まだ同じですが解決策があります。 ZendやDojoはおそらくONLY(LOL)onChangeのようなものではありません。私はそれを元に変更します。 onMouseOverはすべて動作します...これはとても奇妙です。それでも、知っておいてよかった。 あなたのご協力に感謝します。私は今、平和に暮らすことができます。再度、感謝します – Damian

関連する問題