主题: 使用js激发form表单的submit事件无法获取编辑器的值
作者: huy_zhu, 发布日期: 2012-08-28 10:01:45, 浏览数: 4235
操作系统:
windows 7
浏览器版本:
chrome
KindEditor版本:
4.1.2
BUG再现步骤:

1.function save(){

    $("#form1").attr("action","test.php");

    $("#form1").submit();

}

2.<input type="button" value="保存" onclick="save();" />
3.<?php echo $_POST["editor_id"]; ?>点击保存按钮后无法获取编辑器的值

期望结果: 

使用js激发form表单的submit事件时可以获取编辑器的值

作者: 小浪子, 发布日期: 2012-08-28 16:42:39
function save() {
    editor.sync(); //editor为编辑器的对象
    $("#form1").attr("action", "test.php");
    $("#form1").submit();
}
回复
作者: huy_zhu, 发布日期: 2012-08-29 16:15:04
回复小浪子:編輯器不止一個,有多個,有些事動態創建的,所以editor對象不好獲取
回复
作者: 小浪子, 发布日期: 2012-08-29 17:51:09
回复huy_zhu:怎么个多个法?怎么个不好获取?
回复
作者: huy_zhu, 发布日期: 2012-08-30 14:14:51

回复小浪子:

如下代碼,該怎麼獲取呢?

$(document).ready(function(){
    $("#addProInfo").click(function(){
        var proCount = $("#procount").val();
        var html = '<div id="proinfo_'+proCount+'">'+ 
        '<input type="hidden" id="proid_'+proCount+'" name="proid_'+proCount+'" value="0" />'+
        '     <p>'+
        '        <label>   標題:</label>'+
        '        <input type="text" name="txtTitle_'+proCount+'" id="txtTitle_'+proCount+'" class="text-input medium-input" value="" />'+
        '        <label><a onclick="remove(this,0);">-移除</a></label>'+
        '     </p>'+
        '     <div style="width:25%;float:left;">'+
        '     <p>'+
        '         <img src="../static/images/no_photo.jpg" width="150" height="180" />'+
        '         <input type="hidden" id="hdImgUrl_'+proCount+'" name="hdImgUrl_'+proCount+'" value="" />'+
        '         <input type="file" name="flImg_'+proCount+'" id="flImg_'+proCount+'" class="" />'+
        '         <span id="img_msg_'+proCount+'"></span>'+
        '     </p>'+
        '     </div>'+
        '     <div style="width:74%;float:left;">'+
        '     <p>'+
        '         <label> &nbsp;&nbsp;ItemCode:</label>'+
        '         <input type="text" name="txtItemCode_'+proCount+'" id="txtItemCode_'+proCount+'" class="text-input small-input" value="" />'+
        '         <span id="itemcode_msg_'+proCount+'"></span>'+
        '     </p>'+
        '     <p>'+
        '         <label>    原價:</label>'+
        '         <input type="text" name="txtOriPrice_'+proCount+'" id="txtOriPrice_'+proCount+'" class="text-input small-input" value=""  />'+
        '         <span id="oriprice_msg_'+proCount+'"></span>'+
        '     </p>'+
        '     <p>'+
        '         <label>   員工價:</label>'+
        '         <input type="text" name="txtEmpPrice_'+proCount+'" id="txtEmpPrice_'+proCount+'" class="text-input small-input" value="" />'+
        '         <span id="empprice_msg_'+proCount+'"></span>'+
        '     </p>'+
        '     <p>'+
        '         <label>    型號:</label>'+
        '         <input type="text" name="txtModel_'+proCount+'" id="txtModel_'+proCount+'" class="text-input small-input" value="" />'+
        '     </p>'+
        '     <p>'+
        '         <label> 優惠劵編號:</label>'+
        '         <input type="text" name="txtCoupon_'+proCount+'" id="txtCoupon_'+proCount+'" class="text-input small-input" value="" />'+
        '     </p>'+
        '     <p>'+
        '         <label>即時購買鏈接:</label>'+
        '         <input type="text" name="txtLink_'+proCount+'" id="txtLink_'+proCount+'" class="text-input medium-input" value="" />'+
        '         <span id="link_msg_'+proCount+'"></span>'+
        '     </p>'+
        '     </div>'+
        '     <div class="clear"></div>'+
        '     <p>'+
        '         <label>備註(條款及細則):</label>'+
        '         <textarea id="txtRemark_'+proCount+'" name="txtRemark_'+proCount+'" class="textarea" style="height:150px;"></textarea>'+
        '         <span id="remark_msg_'+proCount+'"></span>'+
        '     </p>'+
        '</div>';
        $("#proinfo_"+(parseInt(proCount)-1)).after(html);
        var editorId = '#txtRemark_'+proCount; KindEditor.create(editorId, {
            uploadJson : '../source/upload_json.php',
            fileManagerJson : '../source/file_manager_json.php',
            allowFileManager : true,
            afterCreate : function() {
                var self = this;
                KindEditor.ctrl(document, 13, function() {
                    self.sync();
                    KindEditor('#form1')[0].submit();
                });
                KindEditor.ctrl(self.edit.doc, 13, function() {
                    self.sync();
                    KindEditor('#form1')[0].submit();
                });
            }
        });   
        $("#procount").val((parseInt(proCount)+1));
    });
})
回复
作者: frontier, 发布日期: 2013-05-02 18:55:47

遇到了同样的问题,为什么使用js提交表单无法获取文本域修改后的最新值,获取到的是初始值,求修正

回复
发表新帖 发表回复