グリッドからデータを編集するためのグリッドデータ(index.php)とカスタムモーダルフォーム(frmbts.php)を表示するフォームがあります。私は、モーダルフォームからデータを送信/投稿する方法を知らないし、jqgridのフォームの追加/編集のように送信した後、モーダルフォームを閉じます。 frmbts.phpに送信ボタンを置くとデータを送信できます。しかし、それは私が達成したい(私は提出後にモーダルフォームを閉じることはできません)。ここカスタムモーダルフォームからサブミットボタンを模倣する方法
は、グリッドのコード(index.phpを)
jQuery(document).ready(function(){ ...
jQuery("#list").jqGrid('navGrid','#page',{edit:true,add:true,del:true,search:true,refresh:true,position:'right',
editfunc: function(id){
jQuery('#frmbts').load('frmbts.php?id='+id);
jQuery('#frmbts').dialog({width:670,height:550,modal:true,title:'Edit Data',
buttons: { "Cancel": function() {
jQuery(this).dialog("close");
}, "Save": function() { <-- i want use this to submit data
//code to submit the form then close the form
jQuery(this).dialog("close");
} },
});
}}, ...
<div id="content">
<form id="frm" method="post" action="csvExport.php">
<div id="frmbts"></div>
<table id="list"></table>
<div id="page"></div>
<input id="csvBuffer" name="csvBuffer" type="hidden" value="">
<input id="typeinfo" name="typeinfo" type="hidden" value="">
</form>
</div>
は、[OK]をモーダルフォームコード(frmbts.php)
<?php
$id = $_REQUEST['id'];
if(isset($_POST['submit']))
{
//update data
}
?>
<form name="frmsubmit" method="post" action="frmbts.php">
<table>...</table>
<input type="button" name="cancel" value="cancel">
<input type="submit" name="save" id="save" value="Save"> <--- just test. not the way i want
</form>
こんにちはSergi Ramon、ありがとう。それは働く。しかし、提出した後は、モーダルフォームは閉じないでください。ページもfrmbts.phpにリダイレクトされます。送信後にfrmbtsにリダイレクトせずにモーダルフォームを閉じる方法は?私はjQuery(this).dialog( "close")を配置しましたが、動作しません。 – satria
これはまったく別の解決策です。これにはajaxを使用する必要があります。答えを変更します。 –
私は混乱して申し訳ありません。実際に私は提出した後にモーダルフォームを終了するが、私がしたくないfrmbts.phpにindex.phpリダイレクトすると言う。 – satria