1
フォームに上記のダイアログに成功と失敗のメッセージが表示される フォームの詳細ではなくダイアログボックスで成功メッセージを表示し、 test.php pageどうすればいい?jqueryダイアログが閉じられたときに成功メッセージを表示する方法
test.phpを
<script type="text/javascript">
<!--
var currentOperation = "";
$(function(){
$('#Add').dialog({
autoOpen: false,
width: 600,
title : 'Add New'
});
});
function openDialog(operation){
currentOperation = operation;
$('#Add').dialog('open');
$('#Add').html("Loading...");
$.ajax({
type: "POST",
url: "addNewForm.php",
data: "",
success: function(msg){
$('#Add').html(msg);
},
error:function(msg){
$('#Add').dialog("close");
}
});
}
function authenticate(){
$.ajax({
type: "POST",
url: "addNew.php",
data: $("#form").serialize(),
success: function(msg){
if(msg=="success")
{
alert(msg);
$('#successful').html(msg);
}
else
{
$('#errorMessage').html(msg);
}
},
error:function(msg){
$('#Add').dialog("close");
}
});
}
//-->
</script>
<div style='display: none;' id='Add'></div>
<p><a onclick=openDialog("AddNew") href="#" id="dialog_link"> Add New Details </a></p>
AddNewForm.php
<div style="color:red" id="errorMessage"></div>
<div id="suceesful">
<form action="addNew.php" method="POST" id="login_form" onsubmit = "return false;">
<table>
<tr>
<td align="right">user Name:</td>
<td align="left"><input type="text" name="userName" /></td>
</tr>
<tr>
<td align="right" colspan="2">
<input name="addDetails" type="button" id="submit" value="submit" onclick ="javascript:authenticate();" />
</td>
</tr>
</table>
</form>
</div>
addNew.php
try{
require_once ('connect.php');
$username = $_POST ['userName'];
if ($username == NULL) {
throw new Exception ("A user name is required");
}
$db->beginTransaction();
$sql = $db->query(
"INSERT INTO users (id,userName)
VALUES(:p_id, :p_userName)",
array('p_id' => '', 'p_userName' => $userName)
);
$db->commit();
if($sql)
{
echo "Sucessfully Added";
} else {
echo "failed";
}
}
catch (Exception $e)
{
echo $e->getMessage();
}