Php 如何使用jquery对话框按钮提交表单?
大家好,我只是想问一下如何使用jquery对话框按钮处理表单提交。在我的代码中,我有一个按钮,当你点击它时。它将在对话框中弹出一个窗体。下面是确定和取消的jquery按钮。我的问题是我不能提交我的表单。我唯一的选择就是在表单中创建一个提交按钮。但是我想改用jquery按钮。我正在使用CodeIgniter,希望你能帮助我 我的视图(showAllSuppliers.php) 你需要ajax调用Php 如何使用jquery对话框按钮提交表单?,php,javascript,jquery,ajax,codeigniter,Php,Javascript,Jquery,Ajax,Codeigniter,大家好,我只是想问一下如何使用jquery对话框按钮处理表单提交。在我的代码中,我有一个按钮,当你点击它时。它将在对话框中弹出一个窗体。下面是确定和取消的jquery按钮。我的问题是我不能提交我的表单。我唯一的选择就是在表单中创建一个提交按钮。但是我想改用jquery按钮。我正在使用CodeIgniter,希望你能帮助我 我的视图(showAllSuppliers.php) 你需要ajax调用 $('#submit').click(function (){ var first_n
$('#submit').click(function (){
var first_name = $('#first_name').val();
$.ajax({
url : '/supplier_controller/insertNewSupplier,
type : 'post',
data : first_name,
success : function(){
//do something;
console.log(first_name);
}
})
return false;
});
这将工作,如果你广告id提交按钮和您的输入。但是您也可以通过html标记调用它们。这只是你的一个想法或例子。试着改变这一行和你通常的js:
$attr = array('id'=>'addSupplier');
echo form_open('supplier_controller/insertNewSupplier', $attr);
如果仍然没有提交表单,那么尝试通过ajax调用提交
$(".hero-unit input[name=add_supplier]").on('click',function(){
$('#popup').load("<?php echo site_url("supplier_controller/addNewSupplier/"); ?>").dialog({
title: "Add New Supplier",
autoOpen: true,
width: 800,
modal:true,
position: "center",
buttons: {
OK: function(){
$.ajax({
url : '<?=base_url()?>supplier_controller/insertNewSupplier',
type : 'POST',
data : $("#addSupplier").serializeArray(),
success : function(resp){
alert("Submitted !!!");
$(this).dialog( "close" );
},
error : function(resp){
//alert(JSON.stringify(resp));
}
});
},
CANCEL: function() {
$(this).dialog( "close" );
}
}
});
});
$(“.hero单元输入[name=add\u supplier]”)。在('click',function()上{
$('#弹出框')。加载(“”)。对话框({
标题:“添加新供应商”,
自动打开:对,
宽度:800,
莫代尔:是的,
位置:“中心”,
按钮:{
好的:函数(){
$.ajax({
url:'supplier\u controller/insertNewSupplier',
键入:“POST”,
数据:$(“#添加供应商”).serializeArray(),
成功:功能(resp){
警告(“已提交!!!”;
$(此).dialog(“关闭”);
},
错误:函数(resp){
//警报(JSON.stringify(resp));
}
});
},
取消:函数(){
$(此).dialog(“关闭”);
}
}
});
});
如果您想使用经典表单提交而不是ajax调用,请为按钮参数编写以下代码行:
buttons: {
OK: function(){
$(this).dialog().find('form').submit();
},
CANCEL: function() {
$(this).dialog( "close" );
}
}
$('#formId')。提交();我试过了。下面是我所做的
OK:function(){$(“#addSupplier”).submit();//我如何使用它提交我的表单?},
它也不会提交我的表单。这是一个jquery ui对话框吗?是的。我包括了一个OK和Cancel按钮,上一个示例仅适用于submit按钮。有没有办法获取jQueryUI对话框按钮的按钮id?我做到了。填写完字段并单击“确定”按钮后,会弹出一个警报,但表单不会进入我的控制器。警报是什么?更改此行:data:$(“#addSupplier”).serializeArray(),
到data:{'data':$(“#addSupplier”).serializeArray(),
和此警报(“已提交!!!”代码>至警报(“已提交!!!”+resp)代码>。在控制器上写入print\r($\u POST);死亡代码>在第一行。让我知道它发出的警报。当我点击OK按钮时,出现了一个弹出窗口,显示提交的单词和一组数组。是的。现在,您只需要在模型中传递该数组并编写插入代码。就这样。您的表格已提交!:D
$attr = array('id'=>'addSupplier');
echo form_open('supplier_controller/insertNewSupplier', $attr);
$(".hero-unit input[name=add_supplier]").on('click',function(){
$('#popup').load("<?php echo site_url("supplier_controller/addNewSupplier/"); ?>").dialog({
title: "Add New Supplier",
autoOpen: true,
width: 800,
modal:true,
position: "center",
buttons: {
OK: function(){
$.ajax({
url : '<?=base_url()?>supplier_controller/insertNewSupplier',
type : 'POST',
data : $("#addSupplier").serializeArray(),
success : function(resp){
alert("Submitted !!!");
$(this).dialog( "close" );
},
error : function(resp){
//alert(JSON.stringify(resp));
}
});
},
CANCEL: function() {
$(this).dialog( "close" );
}
}
});
});
buttons: {
OK: function(){
$(this).dialog().find('form').submit();
},
CANCEL: function() {
$(this).dialog( "close" );
}
}