AJAX可能是矯枉過正這裏。您只需從DOM元素中取值,將其插入到隱藏的DIV中,並將隱藏的DIV顯示爲(例如)Lightbox。
您可以使用jQueryUI's .dialog()
方法來執行此操作,而不涉及AJAX。
請注意,像jQuery一樣,在使用代碼之前,必須引用/加載jQueryUI(及其樣式表)。
如果您需要以某種方式處理數據(例如,獲取用戶提供的數據並在MySQL中查找並返回不同的數據),那麼AJAX將非常有用。既然你似乎是隻使用用戶提供自己的數據,你可以做到這一點與JavaScript/jQuery的
jsFiddle here
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>
<style>
ul{list-style-type: none;}
</style>
<script type="text/javascript">
$(document).ready(function() {
$("#preview").dialog({
autoOpen: false,
height: 300,
width: 350,
modal: true,
title: 'Document Preview:',
buttons: {
'Do Something': function() {
// code to do something upon dlg close
$(this).dialog('close');
},
Close: function() {
$(this).dialog('close');
}
}
});
$('#btn_pv').click(function() {
var dt = $('#documentTitleInput').val();
var an = $('#authorsNameOneInput').val();
var pv = '';
pv += '<h2>' +dt+ '</h2>';
pv += '<h2>' +an+ '</h2>';
$("#preview").html(pv);
$("#preview").dialog('open');
});
}); //END $(document).ready()
</script>
</head>
<body>
<form id="document-submit-form" method="post" action="index.php" enctype="multipart/form-data">
<ul>
<li>
Document Title:<br />
<input type="text" name="documentTitle" class="longInputBox" id="documentTitleInput" value="" required />
</li>
<li>
Author's Name:<br />
<input type="text" name="authorsNameOne" id="authorsNameOneInput" value="" class="authorsNameInput" required />
</li>
</ul>
</form>
<br />
<input type="button" id="btn_pv" value="Preview" />
<div id="preview"></div>
</body>
</html>
但是,如果你想做到這一點使用AJAX,你將修改您的按鈕單擊事件是這樣的:
$('#btn_pv').click(function() {
var dt = $('#documentTitleInput').val();
var an = $('#authorsNameOneInput').val();
$.ajax({
type: "POST",
url: "your_php_file.php",
data: 'docTitle=' +dt+ '&aName=' +an,
success: function(pv) {
$("#preview").html(pv);
$("#preview").dialog({
autoOpen: true,
height: 300,
width: 350,
modal: true,
title: 'Document Preview:',
buttons: {
'Do Something': function() {
// code to do something upon dlg close
$(this).dialog('close');
},
Close: function() {
$(this).dialog('close');
}
}
}); //end .dialog()
} //END success fn
}); //END $.ajax
//var pv = '';
//pv += '<h2>' +dt+ '</h2>';
//pv += '<h2>' +an+ '</h2>';
$("#preview").html(pv);
$("#preview").dialog('open');
});
的PHP文件,your_php_file.php
(或任何你想將它命名)將是:
<?php
$dtit = $_POST['docTitle'];
$anam = $_POST['aName'];
$r = '<h2>' .$dtit. '</h2>';
$r .='<h2>' .$anam. '</h2>';
echo $r;
如果你改變了PHP文件(我希望你這樣做)的名字,記得也改變它怎麼叫上面的AJAX程序。
從你的問題描述來看,它聽起來並不像你真的需要AJAX--儘管你可以使用它。當你需要服務器對用戶提供的數據進行一些操作時(比如在MySQL中查找某些內容),AJAX就被使用 - 而你可能不需要這樣做。查看下面的解決方案只使用JavaScript/jQuery。 – gibberish