Mengeluarkan javascript dari jquery ajax tidak berfungsi

Saya memasukkan beberapa data ke dalam wadah div melalui ajax. Ketika html lurus saja dimuat ke dalam div, ia berfungsi dengan baik, namun ketika saya mencoba memasukkan fungsi javascript ke dalam tag skrip, hal itu menyebabkan halaman disegarkan dan hang ketika ajax diaktifkan. Bagaimana cara saya memasukkan skrip ini ke dalam wadah div melalui ajax?

<script type='text/javascript'>
showtext('By clicking this link you have activated the coupon. View the newly opened Kensie window to view this deal!','coupon-23147');
</script>

Fungsi showtext terdapat di function.php. File ini tidak disertakan dengan loadmore.php. Mungkinkah itu yang menyebabkan masalah? Ini dia:

function showtext(text,id) {
document.write("<div style='display:none'><div id='" + id + "'><table align='center' bgcolor='ffffff' border='0' width='450' height='180'><tr><td><font face='Arial, Helvetica, sans-serif' size='4'><center>" + text + "<br/><br/><IMG border='0' src='http://static.mydomain.com/images/logonew1.png' align='center'></center></td></tr></table></div></div>");
}

person PaperChase    schedule 09.11.2011    source sumber
comment
Bisakah Anda menjelaskan fungsinya pada showtext?   -  person dip    schedule 09.11.2011


Jawaban (1)


Apakah Anda mencoba menampilkan semacam jendela jenis pop-up/lightbox? Jika demikian, saya sarankan untuk tidak melakukan ini, tetapi lebih seperti ini:

$.ajax({
    url: "YOUR URL",
    type: "POST",
    data: {var1: "1", var2: "2"},
    success: function(data) {
        showMessage(data);
    }
});

function showMessage(message) {
    ...
    ...
}

Konon, apa itu showtext? Bisakah Anda menunjukkan fungsi itu?

EDIT

Saya rasa apa yang saya katakan adalah mengapa Anda meneruskan fungsi seperti ini, dan tidak hanya meneruskan teks ke fungsi tersebut... Mungkin saya berada di jalur yang salah

person Sam    schedule 09.11.2011
comment
Ya, saya telah menampilkan showtext di postingan asli saya. Masalahnya adalah, saya sudah menggunakan panggilan ajax karena ini adalah operasi pemuatan lambat. Pada halaman kategori kupon saya tidak memuat semuanya secara instan. Saya menggunakan panggilan ajax untuk memasukkannya saat pengguna menggulir. - person PaperChase; 09.11.2011
comment
@PaperChase - Apa yang ingin Anda lakukan? Muat banyak kupon melalui ajax dan tambahkan ke DOM? - person Sam; 09.11.2011
comment
Iya benar sekali. Seluruh html kupon dimuat dengan baik. Namun fungsi javascript yang ada di akhir setiap kupon tidak dimuat. Fungsi ini membuat jendela peringatan lightbox ketika tombol klik di sini untuk mengaktifkan ditekan. Apakah ini mungkin dilakukan? Akankah browser mengenali fungsi tersebut sejak ditambahkan setelah isi dimuat? Bagaimana dengan evaluasi? Sial, haruskah aku membuat halaman saja? tertawa terbahak-bahak - person PaperChase; 09.11.2011
comment
@PaperChase - Saya mengerti apa yang Anda coba lakukan. Anda tidak dapat menyisipkan blok skrip ke dalam blok skrip lain. Mungkin mengatur atribut pada elemen root yang Anda masukkan dan kemudian membacanya untuk melihat apa yang ingin Anda lakukan. - person Sam; 09.11.2011
comment
Ini bukan skrip di dalam skrip, ini skrip di dalam div. Pasti ada cara untuk melakukannya. Bagaimana para bajingan di twitter dan facebook melakukannya? Bisakah saya melakukan document.write di suatu tempat? - person PaperChase; 09.11.2011
comment
Sebenarnya, aku idiot. Saya bisa menambahkan secara manual html yang akan ditulis melalui document.write ke loadmore.php. Namun, sekarang satu-satunya masalah saya adalah bagaimana cara menambahkan file ZeroClipboard ke kode kupon??? - person PaperChase; 09.11.2011