Üzerinde metin ve görüntü içeren HTML + Düğme

4 Cevap php

Bunun üzerine metin ve görüntü içeren bir düğme oluştururken bir sorun var.

<td> 

<button type="submit" name="report" value="Report"  
<?php 
 if($tab == 'Excel') 
   echo "id=\"tab_inactive\""; 
 else 
   echo "id=\"tab_active\"" ; ?>>
 <img src="images/report.gif" alt="Report"/>Report
</button>

<button type="submit" name="excel" value="Excel"  
<?php 
 if($tab == 'Excel' )
     echo "id=\"tab_active\""; 
 else 
     echo "id=\"tab_inactive\"" ; ?>>
<img src="images/Excel.gif" alt="Excel" width="16" height="16" /> Excel
</button>

</td>

İşte $ sekmesi

$tab = strlen(trim($_POST[excel]))>0 ? $_POST[excel] : $_POST[report];

I tried this way, but this is behaving so strangely. On click the button:- The submit function is working properly in firefox, but not in IE.

Bunun yerine (bu örnekte değerleri 'Rapor' ve 'Excel' olan) değerini göndererek, gerçekten de düğmenin etiketi sunulması.

I array print_r ($ _POST) değerini kontrol ediyorsam budur. Bunun değeri

Array ( [report] =>(Icon that i used) Report 
        [excel] => (Icon that i used) Excel 
        [frm_analysis] => [to_analysis] => ) 

İşte ben fazla 1 düğme var, sonra tüm etiketler bunlardan biri basıldığında satışlardaki teslim edilir. i basıldığında hangi düğme yakalamak için nasıl bilmiyorum.

Ben bile button type=button and onclick="document.formname.submit()" Hatta bu aynı sonuçlanan değiştirmeyi denedim.

Eğer bana bu çözmek için yardım edebilir misiniz.

4 Cevap

<button> s IE'de kırılmış. Ben onlar IE7 düzeltildi veya 8. Standartlar modunda sayfa mı düşünüyorsun? Bu IE7 veya 8 yardımcı olabilir.

Eğer kırık sürümünü desteklemek gerekiyorsa, deneyebilirsiniz ve bunu bağımlı olmanın sakıncası yoksa, JS ile etrafında çalışır. Örnek:

<script type="text/javascript">
  function buttonclicked(button) {
    button.form.elements["buttonclicked"].value = this.value;
  }
</script>

<input type="hidden" name="buttonclicked" value="">
<button type="submit" name="report" onclick="buttonclicked(this)">
 <img src="images/report.gif" alt="Report"/>Report
</button>
<button type="submit" name="excel" onclick="buttonclicked(this)">
<img src="images/Excel.gif" alt="Excel" width="16" height="16" /> Excel
</button>

Ben tıkladığınız hangi ayırt etmek gerekirse <button> kaçınarak ve <input type=submit> kullanarak dışında herhangi başka bir yolu olduğunu sanmıyorum.

<button> elemanları ile uğraşırken Bu, ne yazık ki, IE varsayılan davranıştır. Benim gördüğüm kadarıyla, çok sayıda geçici çözümler bu soruna gerçek bir çözüm, tabii olmasına rağmen, var.

Şöyle Benim önerim olacaktır:

Excel için Bir ve Rapor için bir: iki radyo düğmeleri ile, report_type (veya ne olursa olsun seçtiğiniz) adlı bir radyo düğmesi denetimi oluşturun. Ayrıca, normal bir gönderme düğmesi bulunur.

(Etkinse) Javascript ile, radyo düğmelerini gizleyebilirsiniz ve (display: none) düğmesine tıklayın ve (JS) aracılığıyla iki düğme, etiketli Raporu ve Excel oluşturun. Bu düğmelerden birine tıkladığınızda, uygun radyo düğmesi kontrol edilir, ve form gönderildiğinde.

Javascript desteği olmayan kullanıcılar için çalışan bir son çareleri sağlarken Bu, bunu mevcut form form oluşturmak için izin verir.

Yerine düğmenin değerinin Ve, artık kullanmak istediğiniz rapor hangi biçimi karar Radio değerine bakabilirsiniz.

görüntü <button> (<input>?) etiketinin içine dahil olduğundan, büyük olasılıkla değerine dahil ediliyor.

Neden bir GET isteği ile bir onclick olay veya bir href ile ya bir img kullanmak değil mi?

Bunu test değil, sadece bir fikir:

<td> 

<button type="submit" name="active_page" value="Report"  
<?php 
 if( isset( $_POST['active_page'] ) && $_POST['active_page'] == 'Excel' ) 
   echo "id=\"tab_inactive\""; 
 else 
   echo "id=\"tab_active\"" ; ?>>
 <img src="images/report.gif" alt="Report"/>Report
</button>

<button type="submit" name="active_page" value="Excel"  
<?php 
 if( isset( $_POST['active_page'] ) && $_POST['active_page'] == 'Excel' )
     echo "id=\"tab_active\""; 
 else 
     echo "id=\"tab_inactive\"" ; ?>>
<img src="images/Excel.gif" alt="Excel" width="16" height="16" /> Excel
</button>

</td>

Gerçekten sorunu anlamıyorum, o da şudur:

Sen sekmesini veya diğer sekmeyi göstermek için, şimdi wich Düğme tıklandığı istiyorsun? Değil mi?