PDA

View Full Version : کار نکردن onclick="return false" در php



tazeha
شنبه 14 آذر 1394, 21:09 عصر
سلام

من برای غیر فعال کردن کلیک روی لینک ها از کد جاوا اسکریپت زیر در php استفاده می کنم.

اما کار نمی کنه. یعنی کلیک کردن غیر فعال نشده.

onclick="return false"

من به دو روش کد رو به لینک ها اضافه کردم.

کد:

$data .= '<td bgcolor="FFFFCC">'."<a href='http:/http://irannews.ir/' onclick=\"return false\">.$row2->model.</a>".'</td>';


روش دوم:
کد:

$data .= '<td bgcolor="FFFFCC">'."<a href='http:/http://irannews.ir/' onclick='return false'>.$row2->model.</a>".'</td>';

Unique
شنبه 14 آذر 1394, 22:28 عصر
انجمن را اشتباه گرفتین. کلا من متوجه نمیشه میخواین چیکار کنین ! اگه میخواین لینک عمل نکنه href براش نگذارین. تا جایی که من میدونم href بر onclick توی تگ A تقدم داره.

us1234
یک شنبه 15 آذر 1394, 09:13 صبح
مشکلت ارتباط به PHP ندارد و باید خروجی را بررسی کنید که یک موقع کارکتر اضافی داخل کد نباشه .

شما هم همانطور که Unique گفت باید href ها را حذف کنید همچنین بعد از return false باید ; بذارید


<a onclick="return false;" href="">Link</a>

tazeha
یک شنبه 15 آذر 1394, 10:53 صبح
این کار رو کردم. مشکل حل نشد.
ولی بجاش راه دیگه رو پیدا کردم.

اول یه دستور js نوشتم که لینک هایی با id="a#link" رو اگه دیدی کلیک کردن روش رو غیر فعال کن.

بعد به لینک درو php هم id رو دادم و مشکل حل شد.

کد js:
<script>$(document).ready(function(){
$("a#mysLink").click(function(event){
event.preventDefault();
});
});
</script>


$data .= '<td bgcolor="FFFFCC">'."<a id='link' href='http://irinews.ir/'>.$row->title.</a>".'</td>';

Unique
یک شنبه 15 آذر 1394, 13:35 عصر
راستش خوب نمینویسین !
دو تا موضوع :

۱ - استفاده از javascript جایی که اصلا بهش نیاز نیست اشتباهه و کلا جالب نیست ! شما مشکلتون اینه که onclick و href را اشتباه استفاده میکنین !نمیشه توی href مقدار بدین بعد توی onclick اون را غیر فعال کنین !

۲ - شما چرا انقدر بد رشته ها را بهم میچسبونین !؟ دوست عزیز بهتره از double quote استفاده کنید توی این سناریو ها و خیلی تمیز بنویسین :


$data .= "<td bgcolor='FFFFCC'><a href='javascript:void(0);' onclick='return false;'>{$row->title}</a></td>";