我真的很挣扎。有人能告诉我该代码有什么问题。
总之: CI + jquery表单提交。我尝试添加内联行。
java部分
var pair = $('#pair').attr('value');
var entry = $('#entry').attr('value');
var exit = $('#exit').attr('value');
var buysell = $('#buysell').attr('value');
var pl = $('#pl').attr('value');
var dataString = 'pair='+ pair +'&entry='+ entry +'&exit='+ exit +'&buysell='+ buysell +'&pl='+ pl;
$("form#submit").submit(function() {
$.ajax({
type: "POST",
url: "<?php echo base_url();?>journal/add",
data: dataString,
success: function(){
$("#message").text("Added").fadeOut(4000, function() {
$(this).css('display','block').text("");
});
}
});
});
控制器部分(如果不使用java就可以工作,但是不能使用它太简单了)
$data['pair'] = htmlspecialchars(trim($_POST['pair']));
$data['entry'] = htmlspecialchars(trim($_POST['entry']));
$data['exit'] = htmlspecialchars(trim($_POST['exit']));
$data['buysell'] = stripslashes(trim($_POST['buysell']));
// Insert_data
$this->journal_model->add_trade($data);
如果有人能够提供帮助,请做...... :(
干杯,
/亚切克
经过一段时间的淘汰......我让它在IE中工作(哇:O)但不在Safair / FF / Chrome中工作:S
现在的功能如下:
$("form#add_trade_form").submit(function() {
dataString = $("form#add_trade_form").serialize();
$.ajax({
type: "POST",
url: "<?php echo base_url();?>journal/add",
data: dataString,
cache: false,
lsuccess: function() {
$("#message").html("Saved... ").fadeOut(4000, function() {
$(this).css('display', 'block').text("");
});
}
});
});
有什么想法吗?
PS。谢谢Rocky ......它让我前进......
答案 0 :(得分:1)
认为跳出来的人是php echo语句。这是在一个PHP文件?如果没有,那就是你的问题。
答案 1 :(得分:0)
尝试使用$('form').serialize()
而不是手动创建数据字符串。如果任何字段为空,则手动创建的dataString可能不正确。
例如,如果buysell字段为空,则dataString为pair=data&entry=data2&exit=data2&buysell=&pl=data3
,因为您可以看到buysell为空,并且此dataString无效。
$("form#submit").submit(function() {
$.ajax({
type: "POST",
url: "<?php echo base_url();?>journal/add",
data: $('form').serialize(),
success: function(){
$("#message").text("Added").fadeOut(4000, function() {
$(this).css('display','block').text("");
});
}
});
});
也可以使用$.post()
简写来编写。
$.post('<?php echo base_url();?>journal/add', $('form').serialize(), function(){
$("#message").text("Added").fadeOut(4000, function() {
$(this).css('display','block').text("");
});
});