MozTW 討論區

各項 Mozilla 相關軟體與技術討論
現在的時間是 2025-08-23, 01:31

所有顯示的時間為 UTC + 8 小時





發表新文章 回覆主題  [ 28 篇文章 ]  前往頁數 上一頁  12
發表人 內容
 文章主題 :
文章發表於 : 2007-03-06, 19:34 
離線

註冊時間: 2006-03-26, 15:52
文章: 327
kourge 寫:
可以寫成這樣:
var keys = {
'CTEDF': 'book-Management.htm', //有逗點
'AGTIB': 'secret.htm' //沒有逗點
};

var entered = 使用者輸入的密碼;
if (keys[entered]) {window.location = keys[entered];}

如此 keys 可以無斷增加。記得,在 keys 的 {} 內,除了最後一行結尾不能有逗點以外,其他行結尾可以有逗點。

我用的但他說'使用者輸入的密碼'未被定義
我放在<head>和</head>理面
順便請問一下為什麼此程式無法執行
語法如下
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<script language="JavaScript">
<!--
function hidden(){
var location= "No." + document.input.password.valu.CI ;
this.location.href = location;
}
// -- End Hiding Here
// -->

</script>

</head>

<body bgcolor="#C0C0C0">
<form name="input">
<div align="center">
<center>
<table width="386" height="27" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
<tr>
<td width="380" height="23" align="center">&nbsp;您的編號:<input type="text" size="25" name="password">

<select size="1" name="CI">
<option>.htm</option>
<option>/index.htm</option>
</select>

<input type="button" value="確定" onclick="hidden()"></td>
</tr>
</table>
</center>
</div>
<table width="196">
</table>
</form>
<DIV></DIV>
</body>

</html>


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2007-03-06, 19:45 
離線
頭像

註冊時間: 2006-10-27, 07:29
文章: 1068
lkk6015 寫:


異議あり!(?)
1.沒有DTD宣告
2.<script>的語言宣告最好用type="text/javascript",language是比較舊式的寫法
3.bgcolor,align等建議用CSS代替(table中的align倒是沒關係)
4.id和name屬性最好同時指定
我好像在找碴....

anyway,<script>最好是寫在外部檔案比較不會發生奇怪錯誤
比方說CDATA和PCDATA之類的....

引言回覆:
var location= "No." + document.input.password.valu.CI ;

var location= "No." + document.input.password.value.CI ;

另外,location是DOM模型中的關鍵字
你要不要換成其他的?
我改成這樣是可以動了,不過有點小錯誤
我再想想看
代碼:
function hidden(){
location.href = "No." + document.input0.password.value + document.input0.CI.value ;
}

對了我把<form>的name改成input0了


回頂端
Mozilla/5.0 (X11; U; Linux i686; zh-TW; rv:1.8.1.2) Gecko/20060601 Firefox/2.0.0.2 (Ubuntu-edgy)
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2007-03-07, 12:51 
離線
頭像

註冊時間: 2006-10-27, 07:29
文章: 1068
我後來稍微整理了一下code
大概變成這樣子:
代碼:
<?xml encoding="utf8" version="1.0"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<script type="text/javascript">
<!--
function hidden(){
location.pathname = 'No.' + document.getElementById('password').value + document.getElementById('CI').value ;
}
// -- End Hiding Here
// -->

</script>
<style type="text/css">
<!--
body {
background-color: #C0C0C0;
}
-->
</style>
</head>

<body>
<div>
   您的編號:<input type="text" size="25" id="password" />
   <select size="1" id="CI">
      <option>.htm</option>
      <option>/index.htm</option>
   </select>
   <input type="button" value="確定" onclick="hidden()" />
</div>
</body>

</html>


這樣就不會有任何問題發生

昨天的錯誤主要是
location.href指的是“完整”的URI
包括了通訊協定,域名等
所以你以'No.'開頭會產生錯誤
JavaScript期望href會是以"http://aa.bb.cc/xx_yy_zz.html"之類的型式

如果只是要在同網域跳轉
用pathname是比較好的選擇


回頂端
Mozilla/5.0 (X11; U; Linux i686; zh-TW; rv:1.8.1.2) Gecko/20060601 Firefox/2.0.0.2 (Ubuntu-edgy)
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2007-03-07, 13:30 
離線
[網站管理員]
頭像

註冊時間: 2004-09-27, 09:24
文章: 1685
<script> 裡面的 <!-- --> 可以不用放,這年頭哪個正常瀏覽器不支援 JavaScript 的?

_________________
korp + korp 中文站(沒精神更新)


回頂端
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2007-03-12, 01:52 
離線
[MozTW 版主群]
頭像

註冊時間: 2004-11-17, 09:53
文章: 1302
來自: 臺灣桃園
lkk6015 寫:
我用的但他說'使用者輸入的密碼'未被定義
我放在<head>和</head>理面


不是直接寫 使用者輸入的密碼 這幾個字啦 @@"
你應該要把它換成使用者實際上輸入的密碼
也就是使用者到底按了哪些鍵...

_________________
在靜謐的國度裡,擁抱微風--抱風伴靜


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2007-03-12, 13:03 
離線
[網站管理員]
頭像

註冊時間: 2004-09-27, 09:24
文章: 1685
最好有個文字欄位給使用者輸入密碼。

_________________
korp + korp 中文站(沒精神更新)


回頂端
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2007-03-12, 17:23 
離線

註冊時間: 2006-03-26, 15:52
文章: 327
代碼:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>新增網頁1</title>
<script type="text/javascript">
var keys = {
'CTEDF': 'book-Management.htm', //有逗點
'AGTIB': 'secret.htm' //沒有逗點
};

var entered = ;
if (keys[entered]) {window.location = keys[entered];}
</script>
</head>

<body>

<form method="POST" action="--WEBBOT-SELF--">
  <!--webbot bot="SaveResults" u-file="fpweb:///_private/form_results.csv" s-format="TEXT/CSV" s-label-fields="TRUE" --><p>
  <input type="text" name="entered" size="20"><input type="submit" value="提交" name="keys"></p>
</form>

</body>

</html>

幫我改一下好嗎我改不起來


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2007-03-12, 19:44 
離線
頭像

註冊時間: 2006-10-27, 07:29
文章: 1068
代碼:
<?xml encoding="utf8" version="1.0"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<script type="text/javascript">
function hidden(){
   var keys = {
      'CTEDF': 'book-Management.htm',
      'AGTIB': 'secret.htm'
   };

   var entered = document.getElementById('password').value;
   if (keys[entered])
      location.pathname = keys[entered];
}
</script>
</head>

<body>
<div>
   您的編號:<input type="text" size="25" id="password" />
   <input type="button" value="確定" onclick="hidden()" />
</div>
</body>

</html>


我不知道你為什麼那麼堅持要用form
單純使用javascript並不需要送表單
當然AJAX又是另一回事


回頂端
Opera/9.10 (Windows NT 5.1; U; ja)
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2007-03-12, 20:35 
離線

註冊時間: 2006-03-26, 15:52
文章: 327
legnaleurc 寫:
代碼:
<?xml encoding="utf8" version="1.0"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<script type="text/javascript">
function hidden(){
   var keys = {
      'CTEDF': 'book-Management.htm',
      'AGTIB': 'secret.htm'
   };

   var entered = document.getElementById('password').value;
   if (keys[entered])
      location.pathname = keys[entered];
}
</script>
</head>

<body>
<div>
   您的編號:<input type="text" size="25" id="password" />
   <input type="button" value="確定" onclick="hidden()" />
</div>
</body>

</html>


我不知道你為什麼那麼堅持要用form
單純使用javascript並不需要送表單
當然AJAX又是另一回事

謝謝你
因為我真的不知道表單可以不用form
而是用div來包起來
謝謝你

聲明
本人是火弧的愛好者
才會來這裡問
為了支援火弧及IE瀏覽器都能達到最佳瀏覽效果
所以才會來這問一些奇奇怪怪的爛問題
不然我早就把網頁架好了....


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2007-03-12, 20:58 
離線
頭像

註冊時間: 2006-10-27, 07:29
文章: 1068
這樣的話去用web developer吧....
最好的狀況是二個綠燈
如果沒有宣告DTD的話,就會用quirks mode執行
雖然是沒什麼不好啦....
只是看到叉叉心裡就毛毛的

其實<input>或是<select>等的東西並不需要包在任何東西底下
會加個<div>或<span>只是為了方便排版和日後需要而已(簡單的說是我個人習慣)
目前只有NS4以下的瀏覽器會無法辨識不在<form>裡的<input>
如果沒有需要送表單給asp或php之類的伺服器
基本上不需要表單


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2007-03-12, 21:43 
離線

註冊時間: 2006-03-26, 15:52
文章: 327
那如果把.value這個刪除就是要用網址了唷
那為什麼不行執行耶


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2007-03-12, 21:58 
離線
頭像

註冊時間: 2006-10-27, 07:29
文章: 1068
lkk6015 寫:
那如果把.value這個刪除就是要用網址了唷
那為什麼不行執行耶


我的理解力不是非常好,不太了解你的意思

var entered = document.getElementById('password').value;
的意思是對應到下面那行
<input type="text" size="25" id="password" />
也就是利用id去取得輸入框裡使用者打的字串
在DOM裡,input的內容是存在value這裡屬性裡
把value去掉大概不會有好事發生

我覺得你把網址放在js檔裡有點不好(以保密而言)
利用PHP之類的不是更能隱藏資料嗎?


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2007-03-12, 22:07 
legnaleurc 寫:
lkk6015 寫:
那如果把.value這個刪除就是要用網址了唷
那為什麼不行執行耶


我的理解力不是非常好,不太了解你的意思

var entered = document.getElementById('password').value;
的意思是對應到下面那行
<input type="text" size="25" id="password" />
也就是利用id去取得輸入框裡使用者打的字串
在DOM裡,input的內容是存在value這裡屬性裡
把value去掉大概不會有好事發生

我覺得你把網址放在js檔裡有點不好(以保密而言)
利用PHP之類的不是更能隱藏資料嗎?

我知道但我現在想用js語法就好了


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2
  
引用回覆  
顯示文章 :  排序  
發表新文章 回覆主題  [ 28 篇文章 ]  前往頁數 上一頁  12

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 15 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
Powered by phpBB® Forum Software © phpBB Group
正體中文語系由 竹貓星球 維護製作
© moztw.org, Mozilla Foundation
MozTW,Mozilla 台灣社群