1 頁 (共 1 頁)

請問一下Dreamweaver 在使用button後要怎麼找參數

發表於 : 12/22/2006 11:53 am
aki08242003
我在練習的時候出了個問題
就是用好留言跟傳送按鈕後
不知道他會傳到哪裡去
因為找不到地方看
詳情如下
http://www.flickr.com/photos/aki08242003/329701948/

可以請各位大大幫幫忙嗎謝謝 :cry:

發表於 : 12/22/2006 4:55 pm
不小的病魚
....是在表單(那個紅紅虛線框)設定,不是在按鈕.....

發表於 : 12/22/2006 6:13 pm
詹姆士
要注意一下,你在整個網頁裡面建立了兩個 Form (表單),
在 Submit 以後送出的是 Submit 所在的表單內的 Input 資料喔~

以圖片中的段落來看,按鈕以上的文字框所輸入的資料,並不會因為按下 Submit 而一起被送出。

這常常是網頁設計表單會犯的錯誤,搞到最後一個 Input Box 被一個 Form 包住.....

發表於 : 12/22/2006 7:59 pm
麻辣杯麵
我有類似的問題
如果我要做出其中一欄未填便無法送出,語法該如何寫?
謝謝!

發表於 : 12/25/2006 4:28 pm
aki08242003
原來是這樣
趕快來試試看
謝謝各位熱心的大大
:D

發表於 : 12/25/2006 8:25 pm
詹姆士
麻辣杯麵 寫:我有類似的問題
如果我要做出其中一欄未填便無法送出,語法該如何寫?
謝謝!
這個部份就要使用 Javascript 來去做判斷了。
如果是放置 submit 的按鈕,那麼在 submit 以前要做攔截的動作。如下:

<form name="form1" id="form1" method="post" action="SendForm.xxx" onSubmit="return checkForm();">
  <input type="text" name="text1" id="text1" size="20" maxlength="20" value="">
  <input type="submit" name="submit" id="submit" value="送出">
</form>

在 Form 標籤裏面的 action 屬性,就是要將表單的資料送到哪個網址(目的地)去。
method 是決定傳送的方法,有兩種,get 與 post。
若沒有指定,則 get 是內定值。get 與 post 最大差別在送出去的方式是串接在網址之後,或是內部傳遞。兩者的細節可以去搜尋即可得知。

onSubmit 則是 Form 的一個觸發事件,當 submit 進行以前會觸發。onSubmit 裡面放的則是 Javascript 語法來執行想要動作的事件內容。

我在 onSubmit 裡頭放了一個 Javascript 的 function name,若您的動作簡短,也可以把完整的判斷放在裡頭,但是一般不建議這麼做,方便日後的維護。

在我定義的 checkForm 也是會回傳一個值,回傳的是 true 或是 false,若是 false 的話,
那麼 submit 的動作就會中斷。 true 則是繼續。

所以就在 checkForm 這個 function 裡頭去執行要判斷的動作。

<script language="javascript" type="text/javascript">
<!--
  function checkForm() {
    if (document.getElementById('text1').value == '') {
      alert ('請輸入值');
      return false;
    }
    return true;
  }
//-->
</script>

這就是一個簡單的判斷 fuction 了,若 if 成立,則表示使用者沒有在那欄位輸入任何值,則會回傳 false。

其實還要加入防呆的動作,在判斷是否輸入值以前,要檢驗使用者是否只輸入空白字元,或是您要的是數字,使用者輸入的是文字... 等等問題的防治措施。

發表於 : 12/26/2006 2:51 pm
cjtai
詹姆士 寫:...
所以就在 checkForm 這個 function 裡頭去執行要判斷的動作。

<script language="javascript" type="text/javascript">
<!--
  function checkForm() {
    if (document.getElementById('text1').value == '') {
      alert ('請輸入值');
      return false;
    }
    return true;
  }
//-->
</script>

...
使用getElementById比較會有瀏覽器不同產生的問題,簡單一點用form的名稱帶入即可。

<script language="javascript" type="text/javascript">
<!--
  function checkForm() {
    if (document.form1.text1.value == '') {
      alert ('請輸入值');
      return false;
    }
    return true;
  }
//-->
</script>

發表於 : 12/26/2006 3:03 pm
麻辣杯麵
感謝兩位!
我試試看~ 8)

發表於 : 12/26/2006 5:52 pm
進藤光
冰果室水電工果然名不虛傳... 連 JavaScript 也如此精通... Orz

發表於 : 12/26/2006 6:22 pm
麻辣杯麵
不 work!
我的 form 擺在 <div id="Layer1" style="position:absolute; left:0px; top:0px; width:100%; height:100%; z-index:1">
那 JavaScript 是不是要做適當的修改?
謝謝!

發表於 : 12/27/2006 10:29 am
詹姆士
cjtai 寫:使用getElementById比較會有瀏覽器不同產生的問題,簡單一點用form的名稱帶入即可。
我還沒遇到用 getElementById 會有瀏覽器不同產生啥問題,還請 cjtai 舉個例子 。

要注意的是元素的 name 跟 id 意義是不一樣的,getElementById 要取的是元素的 id 而不是 name 屬性。
name 屬性的直可以重複,但是 id 的值必須獨立。

發表於 : 12/27/2006 10:30 am
詹姆士
麻辣杯麵 寫:不 work!
我的 form 擺在 <div id="Layer1" style="position:absolute; left:0px; top:0px; width:100%; height:100%; z-index:1">
那 JavaScript 是不是要做適當的修改?
謝謝!
麵兄方便把碼貼出來,這樣比較好去偵錯。
只有 div 的頭,連尾都沒看見,實在難想像 ;)

發表於 : 12/27/2006 7:35 pm
麻辣杯麵
我覺得應該不是 Javascript 語法的問題,而是後台整個 php 有問題~ :?

謝謝各位幫忙~ 8)

發表於 : 12/28/2006 10:28 am
Alex Tsai
不會吧!麵兄還是繼續討論這個主題吧,以免老塞整天沒力!