cari

Rumah  >  Soal Jawab  >  teks badan

contenteditable="true" tidak boleh diserahkan kepada php, apakah yang perlu saya lakukan?

Baru-baru ini saya sedang membangunkan editor teks kaya, memandangkan textarea hanya boleh memasukkan teks, saya menggunakan atribut contenteditable="true" p untuk melaksanakan teks kaya, yang boleh memasukkan gambar, video, dsb.

Tetapi inilah masalahnya, pada halaman borang:

<form action="test.php" method="post">
<p contenteditable="true" name="zhengwen"></p>
<input type="submit">
</form>

Jika anda melakukan ini, kandungan dalam p tidak boleh diserahkan ke halaman test.php sama sekali, dan echo $_POST[zhengwen] tidak akan dikeluarkan.

Saya ragu ia telah diserahkan sama sekali.

Ada sesiapa tahu cara menyelesaikannya? Mencari kod mudah untuk halaman penyerahan borang dan halaman penerimaan! ! !

三叔三叔2743 hari yang lalu1221

membalas semua(2)saya akan balas

  • PHP中文网

    PHP中文网2017-07-04 13:48:04

    Memang tidak dihantar kerana butang hantar dalam borang hanya menghantar elemen borang sahaja. Dan <p contenteditable="true"> bukan unsur bentuk.

    Jika anda ingin menyerahkan maklumat <p contenteditable="true">的信息提交过去,需要自己构造POST, anda perlu membina sendiri permintaan POST saya akan menggunakan jQuery sebagai contoh:

    $('form').submit(function(e) {
        e.preventDefault(); // 拦截HTML的默认表单提交
    
        var content = $('p[name=zhengwen]').html();
        $.post('....', {zhengwen: content}, functino(data) {
            // 成功回调
        });
    });

    Sudah tentu, terdapat banyak cara untuk menulis penyerahan POST jQuery, seperti $.ajax() dll.

    Apabila menerima di sebelah PHP, baca sahaja seperti biasa$_POST.

    balas
    0
  • 欧阳克

    欧阳克2017-07-04 13:48:04

    1、富文本编辑器可以用百度的UEditor
    2、正如楼上所说,你可以用ajax来提交,但是这个有一点不好,如果有一百个输入框,难道提交一百个键值对?
    3、所以你可以用js的formData对象,图片也可以发送过去,代码如下
        $("#submit").click(function() {
            var x = new FormData(document.getElementById("frm"));//构造方法里面必须是dom对象
            x.append('abc', 123);//追加你的数据
            $.ajax({
                url: '1.php',
                type: 'POST',
                data: x,
                processData: false,  // 告诉jQuery不要去处理发送的数据
                contentType: false   // 告诉jQuery不要去设置Content-Type请求头
            })
            .success(function(data) {
                //代码
            });
        });
    4、也可以用serializeArray函数模拟上面的formData对象,代码如下
        var allDatas = $("form").serializeArray();
        allDatas.push({name:'data',value: JSON.stringify(你的数据对象)});//追加的格式必须是name,value形式,打印allDatas的格式就知道了!!!
        $.post(url,allDatas,function(json){//代码
        });

    balas
    0
  • Batalbalas