我正在使用jqueries地址更改事件,並在用戶在瀏覽器中複製並粘貼URL時遇到了障礙。我需要加載包含表單的頁面的一部分。我可以在每次分頁之後做到這一點,但它似乎真的很無效。如何使用jquery加載檢查加載的div標籤的內容?
這裏是我當前的代碼塊:
$.address.change(function(e) {
var urlAux = e.value.split('=');
var page = urlAux[0];
var start = urlAux[1];
if (page == "/visits") {
$.address.title("Profile Views");
if (start) {
$('#start').val(start);
// ***** If a user has copied and pasted this URL with a start value then I first need to load visits.php in the main div tag. Is it possible to see if this is loaded or not?
$.post("visits_results.php", $("#profile_form_id").serialize(),
function(data) {
$('#search_results').html(data);
location.href = "#visits=" + start;
});
}
else {
var args = localStorage.getItem("visits");
$('#main').load("visits.php?" + args, function() { });
}
}
我試圖解決辦法是這樣的:
var args = localStorage.getItem("visits");
$('#main').load("visits.php?" + args, function() {
$('#start').val(start);
$.post("visits_results.php", $("#profile_form_id").serialize(),
function(data) {
$('#search_results').html(data);
location.href = "#visits=" + start;
});
});
必須有一個更好的辦法...這是realoading頁的相同部分(visits.php)與每個分頁事件。有沒有更好的方法來加載網址,而不是觸發地址更改?代替
我不知道你的總體目標是什麼。這聽起來像你已經格式化了'visits.php'的html /表單數據,你總是需要,但我猜,包括頁面時,它的空白看起來俗氣。總結它? – DefyGravity
visits.php只是一個表單,當發佈時將其結果返回給頁面上的另一個div標籤。分頁控件是visits.php頁面的一部分。問題在於,如果我在每次更改頁面後都需要加載頁面的visits.php部分,那麼討價還價控件在每次加載時都會「閃爍」。我可以加載表單一次,但如果用戶直接在瀏覽器中輸入網址,則失敗。我需要一種方法來檢測這個並只加載一次visits.php表單或確定它是否已經加載。有什麼想法嗎? – Paul
經過多少次黑客攻擊後,我想出了這個解決方案,似乎可以做到這一點。我不確定它有多好,但它似乎有訣竅。我現在得到主要的div id,並在窗體中的唯一字符串上進行正則表達式匹配。如果我沒有看到它,我加載表單然後加載結果。不知道這是否是好的做法,但似乎解決了我的問題。 – Paul