PALMisLIFE 討論區

搜索
鹹魚爸魅力四射舞蹈教室
查看: 3054|回復: 13
打印 上一主題 下一主題

[求助] HTML 語法求助, 關於動態新增 Form 內的物件.

[複製鏈接]

104

主題

4

好友

1429

積分

羊毛大亨

該用戶從未簽到

文章
1533
跳轉到指定樓層
1#
發表於 2004-6-17 20:18 |只看該作者 |倒序瀏覽
被困住好一陣子了, 手邊的工具書都沒找到解法,
印象中有這個功能的網站一下子都找不到了!
我想要做的功能是動態新增 Form 內的物件,
假設現在已經有 3 個了

  1. 1 <input type="text" name="Location1" size=49 value=""><br>
  2. 2 <input type="text" name="Location2" size=49 value=""><br>
  3. 3 <input type="text" name="Location3" size=49 value=""><br>
複製代碼

, 我要做讓使用者按下 more 連接到一個 javascript function 可跑出第四個, 再按可以跑出第五個, 以下類推,
當然會需要一個 Count 來計算數量比較方便

  1. <input type="hidden" name="LocationCount" value="3">
複製代碼

我翻遍了 Div 的語法就是找不到動態新增 div 內內容的語法, 我印象中是有這樣的寫法的哩~
還是有什麼其他作法可以克服?

感謝!!
分享淘帖0 分享分享0 收藏收藏0 頂0 踩0

3867

主題

126

好友

2626

積分

  • TA的每日心情

    2011-4-12 00:15
  • 簽到天數: 3 天

    連續簽到: 2 天

    [LV.2]偶爾看看I

    文章
    35006
    2#
    發表於 2004-6-17 20:20 |只看該作者

    Re: [求助] HTML 語法求助, 關於動態新增 Form 內的物件.

    應該是設成隱藏的區域
    按鈕偵測去顯示該區域 ?

    MX 應該就可以做... 我做做看
    阿輝攝影記錄服務 | 婚禮記錄 | 活動拍攝
    http://www.giorno.tw/
    回復

    使用道具 舉報

    3867

    主題

    126

    好友

    2626

    積分

  • TA的每日心情

    2011-4-12 00:15
  • 簽到天數: 3 天

    連續簽到: 2 天

    [LV.2]偶爾看看I

    文章
    35006
    3#
    發表於 2004-6-17 20:22 |只看該作者

    Re: [求助] HTML 語法求助, 關於動態新增 Form 內的物件.

    等等
    要無限新增... @@

    這好像就想不出來... @@|||

    用 PHP 如何?
    阿輝攝影記錄服務 | 婚禮記錄 | 活動拍攝
    http://www.giorno.tw/
    回復

    使用道具 舉報

    104

    主題

    4

    好友

    1429

    積分

    羊毛大亨

    該用戶從未簽到

    文章
    1533
    4#
    發表於 2004-6-17 20:27 |只看該作者

    Re: [求助] HTML 語法求助, 關於動態新增 Form 內的物件.

    Originally posted by 阿輝 at 2004-6-17 08:22 PM:
    等等
    要無限新增... @@

    這好像就想不出來... @@|||

    用 PHP 如何?


    案主有這樣的需求 ... so ... 要做到動態數量的~

    用 Server Side 來做就 OK 啦, 可是考慮到 Server Side 還要換頁這個解法就沒這麼漂亮了 ...

    當然也有偷雞手法, 先藏個 10 個空的, 每按一下顯示一個, 如果真的找不到解法我就先這樣用頂一下 ...

    [ Last edited by Dragoon on 2004-6-17 at 20:28 ]
    回復

    使用道具 舉報

    3867

    主題

    126

    好友

    2626

    積分

  • TA的每日心情

    2011-4-12 00:15
  • 簽到天數: 3 天

    連續簽到: 2 天

    [LV.2]偶爾看看I

    文章
    35006
    5#
    發表於 2004-6-17 20:27 |只看該作者

    Re: [求助] HTML 語法求助, 關於動態新增 Form 內的物件.

    我想到的作法

    1. 1 <input type="text" name="Location1" size=49 value=""><br>
    2. 2 <input type="text" name="Location2" size=49 value=""><br>
    3. 3 <input type="text" name="Location3" size=49 value=""><br>

    4. ...

    5. n <input type="text" name="Locationn" size=49 value=""><br>
    複製代碼


    設一個啟始變數 n,用 PHP 用迴圈動態產生上面的清單
    more 按鈕每按一次 n+1 並重新導向本頁

    照理說應該 Java Script 也能做到才對
    阿輝攝影記錄服務 | 婚禮記錄 | 活動拍攝
    http://www.giorno.tw/
    回復

    使用道具 舉報

    104

    主題

    4

    好友

    1429

    積分

    羊毛大亨

    該用戶從未簽到

    文章
    1533
    6#
    發表於 2004-6-17 20:35 |只看該作者

    Re: [求助] HTML 語法求助, 關於動態新增 Form 內的物件.

    Originally posted by 阿輝 at 2004-6-17 08:27 PM:
    我想到的作法

    1. 1 <input type="text" name="Location1" size=49 value=""><br>
    2. 2 <input type="text" name="Location2" size=49 value=""><br>
    3. 3 <input type="text" name="Location3" size=49 value=""><br>

    4. ...

    5. n <input type="text" name="Locationn" size=49 value=""><br>
    複製代碼


    設一個啟始變數 n,用 PHP 用迴圈動態產生上面的清單
    more 按鈕每按一次 n+1 並重新導向本頁

    照理說應該 Java Script 也能做到才對


    PHP 容易是因為 PHP 內處理不需要畫面輸出問題, 我的作法是:

    邏輯層:
    ($gForm 是我把 $_POST 整理過後的變數)

    1.         if (empty($gForm["LocationCount"])) {
    2.                 // $gCon->NewEntryCount 是設定 預設數量
    3.                 $gForm["LocationCount"] = $gCon->NewEntryCount;
    4.         }
    5.         $mFormAryLocation = array();
    6.         for ($mI = 1 ; $mI <= $gForm["LocationCount"] ; $mI++) {
    7.                 $mFormAryLocation[] = $gForm["Location" . $mI];
    8.         }
    9.         $gTpl->assign_by_ref("mFormAryLocation", $mFormAryLocation);
    複製代碼

    以上還可以動手腳固定留 3 個空的讓使用者可以新增, 不過後來我想了想留在修改那邊再做就好

    展示層(Smarty):

    1. <div ID="Location">
    2. {{section loop=$mFormAryLocation name=loop}}
    3. {{$smarty.section.loop.iteration}} <input type="text" name="Location{{$smarty.section.loop.iteration}}" size=49 value="{{$mFormAryLocation[loop]}}"><br>
    4. {{/section}}</div>
    5. <input type="hidden" name="LocationCount" value="{{$mFormLocationCount}}">
    複製代碼


    然後透過一個 新增的連結:

    1. <a href="javascript:addMore(document.getElementById('Location'), CustomerForm.LocationCount)">更多</a>
    複製代碼


    在 addMore 這個 function 裡面對 div 做手腳:

    1. function addMore(mDiv, mVar)
    2. {
    3.         該死的 mDiv 給我多生一個 <input type="text"> 出來;
    4.         無辜的 mVar 加一後乖乖去睡覺;
    5. }
    複製代碼


    問題就在:
    document.write 在頁面丟出後, 不能控制輸出的地方...
    div 內要怎麼加東西啊?

    還是說根本沒這個語法?

    [ Last edited by Dragoon on 2004-6-17 at 20:45 ]
    回復

    使用道具 舉報

    7#
    無效樓層,該帖已經被刪除
    8#
    無效樓層,該帖已經被刪除

    104

    主題

    4

    好友

    1429

    積分

    羊毛大亨

    該用戶從未簽到

    文章
    1533
    9#
    發表於 2004-6-18 10:53 |只看該作者

    Re: [求助] HTML 語法求助, 關於動態新增 Form 內的物件.

    感謝!! 試試後回報!
    回復

    使用道具 舉報

    104

    主題

    4

    好友

    1429

    積分

    羊毛大亨

    該用戶從未簽到

    文章
    1533
    10#
    發表於 2004-6-18 16:16 |只看該作者

    Re: [求助] HTML 語法求助, 關於動態新增 Form 內的物件.

    經過測試後, 沒有問題啦~

    謝謝!!

    請教一下, JavaScript 用什麼開發工具比較好用? 每次除錯都很傷腦筋, 都用 alert 無法清楚的看出變數使用狀況~
    回復

    使用道具 舉報

    11#
    無效樓層,該帖已經被刪除

    104

    主題

    4

    好友

    1429

    積分

    羊毛大亨

    該用戶從未簽到

    文章
    1533
    12#
    發表於 2004-7-5 22:59 |只看該作者

    Re: [求助] HTML 語法求助, 關於動態新增 Form 內的物件.

    關於 document.getElementById() 這個 function 有相容性問題,
    有找到一段語法來處理這個問題,
    建議用下面這一段語法取代 document.getElementById:

    1. function returnObj(objId) {
    2.   if (document.layers) { //Netscape 4
    3.      myObj = eval('document.' + objId);
    4.   } else if (navigator.userAgent.indexOf("Opera") != -1) { //Opera
    5.      myObj = eval('document.all.' + objId);
    6.   } else if (document.all && !document.getElementById) { //IE 4
    7.      myObj = eval('document.all.' + objId);
    8.   } else if (document.getElementById) { //Netscape 6 & IE 5
    9.      myObj = document.getElementById(objId);
    10.   } else {
    11.      alert('This website uses DHTML. We recommend you upgrade your browser.');
    12.   }
    13.   
    14.   return myObj;
    15. }
    複製代碼
    回復

    使用道具 舉報

    13#
    無效樓層,該帖已經被刪除

    104

    主題

    4

    好友

    1429

    積分

    羊毛大亨

    該用戶從未簽到

    文章
    1533
    14#
    發表於 2004-7-11 01:10 |只看該作者

    Re: [求助] HTML 語法求助, 關於動態新增 Form 內的物件.

    感謝!

    難怪 innerHTML 這個語法在 Opera 上有一些問題!
    我用這個方法來改寫試試看~
    回復

    使用道具 舉報

    您需要登錄後才可以回帖 登錄 | 免費註冊

    與站長聯繫| PALMisLIFE 掌上生活      下載:更快、更棒、更好玩

    GMT+8, 2024-11-5 11:23 , Processed in 0.059516 second(s), 31 queries , Gzip On.

    Powered by Discuz!

    © 2001-2012 Comsenz Inc. style by eisdl

    回頂部