2011-10-24 10 views
0

私は、親divの中に動的に生成されたdivを隠しておきたいのですが、私のフォームページから次のコードを取り出しました。Zend_Formを使ってDivを作成していますか?

 .... 
    $existing_billing_address = array(); 
    if (count($all_addr) > 0) { 
     $hidden_existing_addr_div = ''; 
     foreach ($all_addr as $addrvalue) { 
      $existing_billing_address[$addrvalue['address_id']] = $addrvalue['address1']; 
      $exname = $addrvalue['address_name']; 
      $exaddress1 = $addrvalue['address1']; 
      $exaddress2 = $addrvalue['address2']; 
      $excountry = $addrvalue['country']; 
      $exstate = $addrvalue['state']; 
      $excity = $addrvalue['city']; 
      $exzipcode = $addrvalue['zipcode']; 
      $exphone = $addrvalue['phone']; 
      $exaddress_id = $addrvalue['address_id']; 
      $hidden_existing_addr_div .= "<div id='selectBilling_" . $exaddress_id . "' style='display:none'>"; 
      $hidden_existing_addr_div .= $exname . "||" . $exaddress1 . "||" . $exaddress2 . "||" . $excountry . "||" . $exstate . "||" . $excity . "||" . $exzipcode . "||" . $exphone . "||" . $exaddress_id; 
      $hidden_existing_addr_div .= "</div>"; 
     } 
    } 
.... 

これは私がZend_Formによる上記隠されたdiv要素を格納したい、などの下に

> <div style="display: none;" id="selectBilling_40">Dinesh 
> billing||billing add1||Billing 
> add2||IN||TA||Chennai||625001||1234567891||40</div><div 
> style="display: none;" id="selectBilling_41">kumar shipping||shipping 
> add1||shipping add2||US||CA||chennai||72944||1234567891||41</div> 

をいくつかのことを生成します。

こんにちは。

+0

この場合、zend_formを使用して非表示にしてからその値を保存することができます。 –

+0

この "Zend_Form_Element_Hidden"を使用すると、divでない隠しテキストボックスが生成されます... zend_formを使用してdivを作成することは可能でしょうか? – mymotherland

+0

最初にZend Form(要素ではない)を使用してください。setDecoratorsを使ってどのように見えるかを変更してください。とにかく、すべての要素を非表示にする必要はありません、フォーム全体を隠すことができます。 –

答えて

1

この場合、Zend_Formを使用して非表示にし、その値を保存して検証することもできます。 divとして表示する場合は、Zend_Decoratorを使用して表示方法を変更できます。とにかく、すべての要素を非表示にする必要はありません、フォーム全体を隠すことができます。

0

私は隠しテキストボックスを使用しています。jqueryを使用して、非表示のテキストボックス値を取得し、その内容でDIVを作成し、入力ボックス値をクリアしました。

$(function(){ 
    var val = $('#edit_existing_billingaddr').val(); 
    $('#edit_existing_billingaddr').after('<div>'+val+'</div>'); 
    $('#edit_existing_billingaddr').val(''); 
});  

しかし、ここでは完全には使用していません。

+0

これは良い方法ではありません。なぜなら、このようにして、zendフレームワークを使用せず、zendフォーム、バリデータ、フィルタの力を使用していないからです。 –

+0

はい、デコレータを使ってdivに入力を変更する方法を教えてください – mymotherland

関連する問題