2011-08-22 56 views
0

我有以下問題。我想在滿足certian條件時將用戶移動到另一個頁面。例如,我有一個用戶輸入URL的文本輸入字段。我想將用戶移至此網址,而不需要按任何形式的提交表單。我使用AJAX來實現這一點。我有一個函數,檢查用戶輸入的模式,如果它被發現是一個有效的URL,頁面將更改爲此URL。如果它不是一個有效的網址,它會寫入錯誤。使用JS更改AJAX頁面

我有一個<div id='url'></div>,AJAX更新錯誤消息(在第一次加載時,在用戶輸入任何內容之前),並且此消息一直持續到輸入有效的url。當輸入有效的網址時,以下內容將寫入此DIV:

<script type="text/javascript"> 
window.location.href="http://google.com"; // google.com is just an example 
</script> 

這似乎不起作用。但如果我把頁面更改代碼而不是錯誤消息,它正在工作。

爲什麼在輸入有效的URL後無法使用?

+0

應當<腳本類型= 「文/ JavaScript的」>,對不起 – Shai

+2

你如何使用Ajax在這裏?它有什麼作用?我沒有理由使用Ajax(如果你使用它)。你爲什麼不直接改變'location'? –

+0

@Felix Kling 當輸入表單發生變化時,AJAX正在工作。 例如,如果您鍵入「bla」,則會寫入「bla不是有效的URL」,這非常有效。 但是,如果您輸入「http://google.com」,則會標識該網址並寫入: 但沒有任何反應。 如果我刪除了URL模式檢查並寫入「bla」,則它會寫入 並將您轉移到此URL(並且瀏覽器當然不會找到它) – Shai

回答

1

我沒有看到任何需要AJAX,只是正常的JavaScript。當您發現輸入的文本是一個有效的網站並且您想要加載它時,直接使用window.location = "http://google.com"; // google.com is just an example - 無需將其插入到文檔中。

+0

我知道這裏不需要AJAX,我現在正在學習AJAX,這只是爲了練習。稍後我需要使用它,類似於我正在開發的項目,這是一個小例子來說明它 – Shai

0

爲什麼你寫JS到DIV而不是隻調用window.location.href =「http://google.com」; ?

例如

$.ajax({ 
    url: 'answercheck.php', 
    success: function(data) { 
    if (data=="correct"){ 
     window.location.href="http://google.com"; 
    } 
    else 
    { 
     //show error message 
    } 
    } 
});