Ne PHP oluşturulan benim bağlantı ile yanlış?

5 Cevap php

Ben tıkladığımda benim kodu sadece bir PHP fonksiyonu için bir çapa etiketi köprü am

Benim kod JQuery gelen index.php, another.php AJAX denir altındadır.

another.php

 <?php

   echo " <a href='my.php?action=show&amp;id=".$fid."'
     onclick=\"return  display('".$fid."');\"> ";  
  echo "" .$fname."</a> ";
 ?>

The hyperlink does not work when I click it.
Am I having a problem with leading spaces?
Do I need to change my code?

5 Cevap

"Ekran" fonksiyonu false dönüyor ise, onclick işleyicisi kısa varsayılan köprü işlevi devrededir. Bunun yerine onclick "ekran ($ fid)" sadece onclick = set, "ekran ($ fid) dönmek" ve köprü her zaman çalışacaktır set olma.

Kodunuzu veya daha ayrıntılı bilgi geri kalanını görmeden, ben gerçekten sorun olabilir başka ne söyleyemem. Ama bu bana dışarı atlar ilk şey. Bir elemanın olay işleyicisi false döndürürse, normal işlevsellik oluşur asla.

Neden ikinci echo "" .$fname."</a> ";?? "Ilk" tüm orada olmak zorunda değildir

Üstelik uzay nokta önünde olmamalı görünür -.

<?php
   echo '<a href="my.php?action=show&id='.$fid.'"
     onclick="return  display(\''.$fid.'\');">'.$fname.'</a>';
 ?>

Ben hep php dizeleri için kullanabilirsiniz çalışmak ve "HTML bölümünde okumak için bu çok daha kolay hale getirir gerekir :)

Bunu muhtemelen hiçbir değeri ile bir bağlantı gösteren bir öz kapanış yaptı çünkü Bla: Ayrıca büyük hata bağlantı bu gibi görünüyordu oldu

Oldukça Bir çapa etiketinin içine tüm bu malzeme ile elde etmek istediğiniz ne çözemiyorum ... onclick olaya tepki ve başka bir yere tarayıcı yönlendirme? Ben bir <a> etiketinin işlevselliği verdiği ve kolay bir yolu olduğunu öğrendim:

<a href="javascript:doStuffHere()" id="...">...</a>

Yani zorunlu href ile onclick karışmaz. Böyle bir şey olması için bağlantı yeniden deneyin.

Eğer Strings sınırlayan için çift tırnak kullanarak olduğunuzda PHP tarzı gibi, değişken içeriğini eklemek için tırnak çıkmak zorunda değilsiniz. Sen wirte olabilir:

<?php

$fid = 'myId';
$fname = 'my link name';

echo "<a id=\"$fid\" href=\"javascript:doStuff()\">$fname</a>";

?>

Diğerleri de söylediğim gibi muhtemelen JavaScript dönüşü ile bir şeydir. Gerçekten soruna neden olur PHP kod kendini yanlış bir şey diyemem.

Ancak, ben gözlerime kod biraz daha kolay hale getirmek için bazı ipuçları var.

Dizeleri ile ilgili benim ilk önerim kaçmak için 'ya ". Sizin alıntı stili geçiş yaparak, büyük ölçüde daha kolay kodunu okumak ve çok daha kolay tırnak neden olduğu sorunları bulmak için yapabilirsiniz kendinizi zorlamak asla etmektir.

echo " <a href='my.php?action=show&amp;id=".$fid."' onclick=\"return display('".$fid."');\"/> ";

Bu olacak:

echo ' <a href="my.php?action=show&amp;id='.$fid.'" onclick="return display("'.$fid.'");"> '.$link_title.'</a>;

Bu dışarı yazarken aslında, ben çapa etiketi tamamladıktan değil çünkü köprü almıyorsanız fark ettim. Daha spesifik olarak, yukarıdaki örnekte / ile erken bunu kapatıyoruz, ben ekledi:

.$link_title.'</a> This should fix the problem.

İkinci öneri:

echo "" .$fname."</a> "; Can just as easily be typed out as:

echo $fname.'</a> ';

Yerine 'kullanma "sunucu tarafından ekstra çalışma gerekmez dizeleri için tavsiye edilir, ve önde gelen" "gerekli değildir.

EDIT:

echo ' <a href="my.php?action=show&amp;id='.$fid.'" onclick="return display("'.$fid.'");"> '.$fname.'</a>;

Bu çalışır mı? Bu bağlantıyı gösteriyor mu?