到目前为止,我有一个html表单,允许用户发布一些数据。这是我需要进行表单处理的步骤。
1,一旦用户在页面A上提交了数据,它就会在页面A上显示一个Jquery对话窗口,以允许用户确认他们正在做什么是正确的。
2,在对话框窗口中单击“是”后,我需要将其再次转到页面A.然后,相同的页面将根据按下的按钮是“是”还是“否”来处理逻辑。
3,然后逻辑将重定向到页面B或仅输出验证错误。
第A页
允许用户提交数据的表单
<form style="display:block" id="edit-user" name="input" action="" method="post">
<?php
if(isset($users)) {
echo "<select name='users'>";
foreach($users as $user) {
echo "<option value='".$user."'>".$user."</option>";
}
echo "</select>
<input type='submit' value='Submit' name='edit-user'>";
}
?>
页面A上的对话框窗口,在同一页面的表单发布后弹出。
if($_POST['edit-user']) { ?>
<script type="text/javascript">
$(function() {
$("#dialog-confirm").dialog({
dialogClass: "no-close smaller-text",
resizable: false,
height:160,
modal: true,
buttons: {
"Yes": function() {
$(this).dialog( "close" );
},
Cancel: function() {
$(this).dialog( "close" );
}
}
});
});
</script>
<?php } ?>
对此有何解决方案?如果还有其他方式完全这样做,请分享。
答案 0 :(得分:0)
您可以尝试这样的事情:
第A页
<form id="edit-user" name="input" action="" method="post">
...your input fields here...
<button type="button" id="submitBtn">Submit</button>
</form>
Page A Script
<script type="text/javascript">
$(function() {
$('#submitBtn').on('click',function(){
$("#dialog-confirm").dialog({
dialogClass: "no-close smaller-text",
resizable: false,
height:160,
modal: true,
buttons: {
"Yes": function() {
$(this).dialog( "close" );
$('#edit-user').submit();
},
Cancel: function() {
$(this).dialog( "close" );
}
});
});
});
</script>
答案 1 :(得分:0)
<form style="display:block" id="edit-user" name="input" action="" method="post">
<?php
if(isset($users))
{
echo "<select name='users' id='users'>";
foreach($users as $user)
{
echo "<option value='".$user."'>".$user."</option>";
}
echo "</select>
<input type='button' value='Submit' onclick='validate();'>";
}
?>
<script>
function validate()
{
var user = getElementById('#users').value;
$("#dialog-confirm").dialog({
dialogClass: "no-close smaller-text",
resizable: false,
height:160,
modal: true,
buttons: {
"Yes": function() {
/*Do the client side validation.
For server side validation make use of ajax. In
server side validation, handle rest of the script according to response.
*/
if(VALIDATION FAIL)
{//output error
$(this).dialog( "close" );}else{
window.location.href = 'Url to Page B'; //If validation is success
}
},
Cancel: function() {
$(this).dialog( "close" );
}
}
});
}
</script>