我在使用 ajax 将值从输入元素发送到 Codeigniter Controller 时遇到问题。
由于我必须使用所见即所得编辑器( summernote ),因此我只能接收 <script>
内的输入。但是,当我按下提交按钮时,它只会重新加载当前页面,而不是 Controller 中的页面。
这是我的代码:
PHP View
<section id="mainContent">
<form method="post">
<input type="text" id="textbox" class="editor" name="textbox">
<input id="submit_btn" type="button" name="sutmit" value="submit" onclick="myFunction()">
</form>
</section>
<script type="text/javascript">
function myFunction() {
var markupStr = $('#textbox').summernote('code');
alert(markupStr);
$.ajax({
type : 'POST',
url : "<?= site_url().'cintern/save'; ?>",
async : false,
data : {'iDes': markupStr},
success : function(data){
alert("Success!");
}
});
return false;
};
</script>
PHP Controller
public function save()
{
$session_data = $this->session->userdata('logged_in');
$data['id'] = $session_data['idlogin'];
$data['role'] = $session_data['role'];
$data['pageTitle'] = 'Success';
$data['iDes'] = $this->input->post('iDes');
$this->load->view('templates/header', $data);
$this->load->view('internship/success', $data);
$this->load->view('templates/footer');
}
请帮忙!预先感谢您。
最佳答案
您应该使用onsubmit
的<form>
标签代替。
<section id="mainContent">
<form method="post" onsubmit="myFunction()">
<input type="text" id="textbox" class="editor" name="textbox">
<input id="submit_btn" type="button" name="sutmit" value="submit">
</form>
</section>
原因是,如果你处理 onclick
您的<input type="submit">
,无法拦截 <form>
的请求提交数据后标记。
希望这可以帮助你。
关于javascript - 无法使用 ajax 将值传递给 Codeigniter Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34423711/