Javascript 为什么在我的编辑器中需要双击提交按钮才能工作?
Im有一个名为管理内容的模块,管理员可以在其中编辑网站的内容。我看到这个编辑器,我把它应用到我的网站上,但有一个问题。当我点击提交时,它不会改变,但当我试图双击提交时,它会改变 查看Javascript 为什么在我的编辑器中需要双击提交按钮才能工作?,javascript,jquery,ckeditor,Javascript,Jquery,Ckeditor,Im有一个名为管理内容的模块,管理员可以在其中编辑网站的内容。我看到这个编辑器,我把它应用到我的网站上,但有一个问题。当我点击提交时,它不会改变,但当我试图双击提交时,它会改变 查看 <div class="col-md-6"> <ol class="breadcrumb"> <div id="success-message-edit-about"></div> <form id=
<div class="col-md-6">
<ol class="breadcrumb">
<div id="success-message-edit-about"></div>
<form id="edit-about">
<input type="hidden" name="id" value="<?= secret_url('encrypt',$edit_about->id)?>">
<div class="form-group">
<label>Content</label>
<textarea id="editor" rows="4" cols="50" name="content_description" class="form-control"><?= $edit_about->content?></textarea>
<div class="text-danger" id="content_description_error"></div>
</div>
<input type="submit" class="btn btn-success " value="Continue" align="center" ">
</form>
</ol>
</div>
控制器
public function edit_about_form_submit()
{
echo json_encode($_POST['content_description']);die;
}
场景
Content: This is my content
Change into: Update Content
然后,当我单击submit时,在我的inspect元素中,它没有改变。但是当我双击提交按钮时,它现在会改变
问题:如何解决此问题?应该只单击一次,而不是两次
编辑:
JS
$(document).ready(function(){
$("#edit-about").on('submit',function(e){
$.ajax({
url: base_url + "administrator/edit_about_form_submit",
type: "POST",
data: $(this).serialize(),
success:function(data) {
var result = JSON.parse(data);
if(result === "success")
{
$("h5").html("");
success_message("#success-message-edit-about","Thank you!");
window.setTimeout(function(){location.href=base_url+"administrator/about"},2000);
}
else{
$("#link_error").html(result.link_error);
}
},
error: function(data) {
alert('error');
}
})
e.preventDefault();
})
})
$(document).ready(function(){
$("#edit-about").on('submit',function(e){
for ( instance in CKEDITOR.instances )
{
CKEDITOR.instances[instance].updateElement();
$.ajax({
url: base_url + "administrator/edit_about_form_submit",
type: "POST",
data: $(this).serialize(),
success:function(data) {
var result = JSON.parse(data);
if(result === "success")
{
$("h5").html("");
success_message("#success-message-edit-about","Thank you!");
window.setTimeout(function(){location.href=base_url+"administrator/about"},2000);
}
},
error: function(data) {
alert('error');
}
})
e.preventDefault();
}
})
})
我从2012年的论坛帖子中找到了这个 我的问题的解决办法是,我必须在发布之前打电话给这个 到服务器: 代码:
我从2012年的论坛帖子中找到了这个 我的问题的解决办法是,我必须在发布之前打电话给这个 到服务器: 代码:
你是说我会把它放在我的ajax之前?我编辑了我的js。你能检查一下我是否做得对吗?建议将updateElement调用放在submit按钮的mousedown事件中。但是整个线程都充满了关于何时何地更新元素的各种答案。但是我把它放在了我的提交按钮操作中。你是说我会把它放在我的ajax之前?我编辑了我的js。你能检查一下我是否做得对吗?建议将updateElement调用放在submit按钮的mousedown事件中。但是整个线程充满了关于何时何地更新元素的各种答案。但是我把它放在了提交按钮操作中。
for ( instance in CKEDITOR.instances )
{
CKEDITOR.instances[instance].updateElement();
}