2012-01-25 80 views
0

我在我的PHP錯誤在這條線:PHP錯誤和JavaScript驗證

var strRooms = <?=$js_var?>; 

這是說,這有一個合法的標記,這是什麼意思?

你可以看一下這裏的應用程序:application

現在,如果你在沒有在文本框中輸入,那麼它不會顯示一個消息,說「請在房間號輸入」,如果你在一個類型無效的房間號碼,然後它不顯示消息,說明「這個房間是無效的」。爲什麼它不起作用?

我知道代碼在jsfiddle中不起作用,但我已將我的代碼包含在jsfiddle中,以便您可以看到整個代碼以及它的佈局方式。 jsfiddle

那麼如何解決這個錯誤以及JavaScript驗證消息如何顯示,因爲他們應該這樣做呢?

回答

2

試試這個var strRooms ="<?php echo $js_var; ?>";

+0

我已經提高了這個答案。最後一個問題是,爲什麼如果文本框爲空或者房間號碼錯誤,它不顯示javascript驗證消息42被輸入到文本框中。驗證消息應在用戶點擊準備問題按鈕後出現。應用程序URL已更新 – user1163005

+0

@ user1163005:需要檢查的兩件事:1.確保從服務器端真正返回到$ js_var。檢查你的查詢,做一個var轉儲。 2.在strRooms上做一個拆分字符串時做一個console.log。它可能做一些奇怪的時候,它會使用分裂「」因此,當您嘗試與它不匹配現有房的數據相匹配吧.. –

+0

你是說一個Web程序員誰是不是很有經驗,我們不能一步一步讓我更容易遵循我需要做的事情? – user1163005

2

您是否嘗試過報價?

var strRooms = "<?=$js_var?>"; 

var strRooms = '<?=$js_var?>'; 
+0

這擺脫了錯誤謝謝:)的情況下。現在最後一個問題是,爲什麼在文本框爲空或者房間號碼錯誤的情況下,它不顯示JavaScript驗證消息42被輸入到文本框中。驗證消息應在用戶點擊準備問題按鈕後出現。應用程序的網址已更新 – user1163005

+0

我已將upvoted這個答案 – user1163005

3
var strRooms = <?php echo json_encode($js_var); ?>; 

這將保證它會工作,不管是什麼類型的變量$js_var的是。

+0

這也可以擺脫錯誤。現在最後一個問題是,爲什麼在文本框爲空或者房間號碼錯誤的情況下,它不顯示JavaScript驗證消息42被輸入到文本框中。驗證消息應在用戶點擊準備問題按鈕後出現。應用程序網址已更新 – user1163005

+0

答案已通過方式得到提升 – user1163005

+0

您不斷重新賦值'$ js_var = $ data。「,」;'。嘗試在循環之前設置'$ js_var = Array();'然後在你的循環內設置'$ js_var [] = $ data;'。現在,使用我的答案,你可以直接將數組放入JS中,所以你不需要使用'.split(「,」);' –

0

使用此在的空textbox

var strRooms ="<?php echo !empty($js_var) ? $js_var : 'Error message'; ?>"; 
+0

我想使用JavaScript來顯示信息,如果文本框爲空,以避免頁面加載的情況。如果你在jsfiddle看問題,那麼你可以看到我的JavaScript驗證,不能我顯示消息的JavaScript驗證? – user1163005