昱得資訊工作室
麻辣學園
歡迎光臨, 訪客. 請先 登入註冊一個帳號.
您忘了 啟用您的帳號嗎?
2008-05-16, 21:52:18
首頁 說明 登入 註冊 贊助論壇 想當作者?
新聞: 請會員來訪時務必完成登入,為維護論壇品質,將不定期刪除長時間未登入的會員!!


+  麻辣家族討論區
|-+  網頁設計
| |-+  JavaScript
| | |-+  前往的地方...
0 會員 以及 1 訪客 正在閱讀本篇主題. « 上一篇主題 下一篇主題 »
頁: [1] 向下 列印
作者 主題: 前往的地方...  (閱讀 2355 次)
taocenter


電子郵件
前往的地方...
« 於: 2005-05-27, 09:38:33 »

我是一個JavaScript的初學者,才學沒幾天,有個小問題想問
下列的原始碼的用意是可以在文字欄位中,輸入想要前往的網址,然後按下Enter或按鈕,就可前往
請問下列的原始碼中,
  • onSubmit="return jump()",jump()前一定要有return嗎?如果是,那為什麼底下的onClick可以沒有?
  • 在這個jump()函式中,一定要有return false嗎?如果是,那又為何是false而不是true呢?

引用
<center>
前往的地方
<form name="f" onSubmit="return jump()">
<input type="text" name="t" value="http://" style="background-color:#99CCFF;">
<input type="button" onClick="jump()" style="background-color:#99CCFF;" value="Go!">
</form>
</center>

<script>
function jump(){
   window.location=document.f.t.value;
   return false;
}
</script>
已記錄
小誌
*
離線 離線

會員性別: 男
文章: 574


作業系統 Windows XP SP2
CPU P4 1.6G
OFFICE版本 Office 2003

個人網站
Re: 前往的地方...
« 回覆文章 #1 於: 2005-05-27, 11:43:53 »

參照「PHP+IIS+SQL Server網站資料庫徹底研究」中的函數說明
理論是相同的
已記錄

為了論壇的永續經營,您不妨
贊 助 論 壇
taocenter


電子郵件
Re: 前往的地方...
« 回覆文章 #2 於: 2005-05-27, 11:54:48 »

我的意思是說,為何onSubmit="return jump()"要有return,
我試過若移除return,則在文字欄位按下Enter就會沒有作用
可是onClick="jump()",有沒有return都可以,按下按鈕後有作用
是不是onSubmit有規定一定要有return
如:
onSubmit="return 函數()"
已記錄
小誌
*
離線 離線

會員性別: 男
文章: 574


作業系統 Windows XP SP2
CPU P4 1.6G
OFFICE版本 Office 2003

個人網站
Re: 前往的地方...
« 回覆文章 #3 於: 2005-05-27, 13:09:05 »

我的意思是說,為何onSubmit="return jump()"要有return,
我試過若移除return,則在文字欄位按下Enter就會沒有作用
可是onClick="jump()",有沒有return都可以,按下按鈕後有作用
是不是onSubmit有規定一定要有return
如:
onSubmit="return 函數()"
你只答對一半,不是有規定,而是看用法
如果你這樣寫不用加return,因為是立即執行
程式碼:
<input type="text" name="t" value="http://" style="background-color:#99CCFF;">
<input type="button" onClick="window.location='document.f.t.value;'" style="background-color:#99CCFF;" value="Go!">

而在FORM中使用onSubmit則是在表單傳送資料前進行資料驗證,所以給RETURN
嚴格來說,你的JAVASCRIPT程式是完全錯誤的
你何不試試
程式碼:
<center>
前往的地方
<form name="f">
<input type="text" name="t" value="http://" style="background-color:#99CCFF;">
<input type="button" onClick="jump()" style="background-color:#99CCFF;" value="Go!">
</form>
</center>

<script>
function jump(){
  window.location=document.f.t.value;
}
</script>


已記錄

為了論壇的永續經營,您不妨
贊 助 論 壇
taocenter


電子郵件
Re: 前往的地方...
« 回覆文章 #4 於: 2005-05-27, 14:05:19 »

原來是這樣...
引用
而在FORM中使用onSubmit則是在表單傳送資料前進行資料驗證,所以給RETURN

這個程式其實是學貫的「JavaScript動態網頁範例集」的第七章的7-10、7-11頁
他的說明:
引用
onSubmit和onClick同樣是事件處理器,
onClick是按下按鈕時發生,
onSubmit則是在表單中按下【Enter】,或按下「Submit」按鈕時發生

引用
你何不試試
其實你寫的這個程式是我沒有看到這個範例以前所寫的方式
可是這樣無法在文字欄位中按下【Enter】就前往,而只能按下按鈕才行

我想要能夠在文字欄位中按下【Enter】或按下按鈕都可以前往
於是我修改如下:
引用
<center>
前往的地方
<form name="f">
<input type="text" name="t" value="http://" style="background-color:#99CCFF;" onKeyDown="key(event)">
<input type="button" onClick="jump()" style="background-color:#99CCFF;" value="Go!">
</form>
</center>

<script>
function jump(){
  window.location=document.f.t.value;
}

function key(e){
   if(e.keyCode==13){     //按下Enter時      
          jump();
   }   
}

</script>

可是當我在文字欄位中按下Enter時,依然沒有前往
請問是不是哪裡寫錯?
謝謝你
已記錄
小誌
*
離線 離線

會員性別: 男
文章: 574


作業系統 Windows XP SP2
CPU P4 1.6G
OFFICE版本 Office 2003

個人網站
Re: 前往的地方...
« 回覆文章 #5 於: 2005-05-27, 14:41:02 »

回覆:
<form name="f" onSubmit="jump();return false;">
<input type="text" name="t" value="http://hhh" style="background-color:#99CCFF;">
<input type="submit" style="background-color:#99CCFF;" value="Go!">
</form>
</center>

<script>
function jump()
{
window.location=document.f.t.value; 
}
我猜你又要問為何要有return false
目的在不使表單產生作用(發送資料),只要執行jump()就好
已記錄

為了論壇的永續經營,您不妨
贊 助 論 壇
taocenter


電子郵件
Re: 前往的地方...
« 回覆文章 #6 於: 2005-05-27, 15:10:46 »

那麼,我想請問為什麼我寫的這個,按下enter後卻沒有作用


引用
<center>
前往的地方
<form name="f">
<input type="text" name="t" value="http://" style="background-color:#99CCFF;" onKeyDown="key(event)">
<input type="button" onClick="jump()" style="background-color:#99CCFF;" value="Go!">
</form>
</center>

<script>
function jump(){
  window.location=document.f.t.value;
}

function key(e){
  if(e.keyCode==13){    //按下Enter時   
     jump();
  } 
}

</script>


已記錄
小誌
*
離線 離線

會員性別: 男
文章: 574


作業系統 Windows XP SP2
CPU P4 1.6G
OFFICE版本 Office 2003

個人網站
Re: 前往的地方...
« 回覆文章 #7 於: 2005-05-27, 15:34:14 »

那麼,我想請問為什麼我寫的這個,按下enter後卻沒有作用
onKeyDown的定義是什麼,按下按鍵,沒錯
哪每次按下按鍵就呼叫key()試問會是什麼結果??
本主題就到此為止囉
已記錄

為了論壇的永續經營,您不妨
贊 助 論 壇
頁: [1] 向上 列印 
« 上一篇主題 下一篇主題 »
跳到: