Symfony'de bir form öğesini nasıl devre dışı bırakılır?

4 Cevap php

Ben formda, bir Seç öğesi kullanıyorum

'country' =>new sfWidgetFormChoice(array('choices' => CountryPeer::getAllCountry())),

'city' =>new sfWidgetFormChoice(array('choices' => CityPeer::getAllCity())),

i şehir eleman ilk defa sayfa yükleri de, devre dışı istiyorum. ve ülke seçimi kent elemanı etkin olacaktır. (bu AJAX çağrısı ile yüklenir)

4 Cevap

Böyle devre dışı bırakabilirsiniz

$this->widgetSchema['country']->setAttribute('disabled', 'disabled');

$ This-> widgetSchema ['alan'] -> setAttribute ('salt okunur', 'readonly');

Zaten AJAX ile ikinci listenin verileri yüklemek, neden devre dışı bırakmak ve JavaScript ile ikinci liste izin yok?

Devre dışı bırakma (belge yük sonra) yapılır ya (düz HTML ile) şablonda kodlanmış veya Javascript ile yapılabilir.

Etkinleştirmek için, (başarı olay) AJAX çağrısı için bir geri arama yöntemi kullanın.

Bu gerçekten AJAX çağrısı (jquery?) Nasıl, bilmek için elinden olacaktır.

Peki, en temiz bir şekilde "kendi Widget yazmak nasıl" öğrenmek ve aslında yazmaktır. Zor bir örnek olarak sfWidgetFormDate de bir göz atabilirsiniz.