Board logo

主題: [Discuz] [問題]請問如何把論壇新用戶註冊頁面的某欄位由選填改成必填? [打印本頁]

發表人: 冷井    時間: 2007-4-8 08:03 PM     主題: [問題]請問如何把論壇新用戶註冊頁面的某欄位由選填改成必填?

我已經知道如何把選填的欄位放到必填的區域,但是還不知道要如何讓論壇檢查該欄位有無填寫內容。
請問有相關的插件或是教學嗎?

版本:Discuz 5.5
論壇位置: http://wowkt.servegame.org/

[冷井 在  2007-4-9 10:18 PM 作了最後編輯]
發表人: GGL    時間: 2007-4-9 03:45 AM

\templates\default\messages.lang.php   這是訊息檔,你可以加入你所需的錯誤訊息

register.php
加入下面的if判斷...以下是我隨便測試的

CODE:
[Copy to clipboard]
if($bday!=$password) {
                showmessage('credits_addfunds_succeed');
        }
templates\default\register.htm
我將原本在進階選項中的生日設定移動到<!--{loop $_DCACHE['fields_required'] $field}-->
這一行前面,並加以修改

CODE:
[Copy to clipboard]
        <tr>
        <td class="altbg1"><span class="bold">{lang birthday}</span></td>
        <td class="altbg2"><div class="input"><input type="text" name="bday" id="bday" size="25" onclick="showcalendar(event, this)" onfocus="showcalendar(event, this);if(this.value=='0000-00-00')this.value=''" value="0000-00-00" onBlur="checkbirth()></div><div id="checkbirth"></div></td>
        </tr>
加入生日判斷,為了顯示錯誤訊息,證明function有效

CODE:
[Copy to clipboard]
function checkbirth(){
                var bd = document.register.bday.value;
                var bd2 = $('checkbirth');

                        warning(bd2,profile_seccode_invalid);
                return;
        }
修改後,可能會有cache到forumdata/templates/x_register.tpl.php中,如果要修改也可以從這邊

以上是我剛剛測試的結果,你可以根據需求增加code...

ps.我沒學過php,只是大概試了一下,如果有其他的程式問題,我可能無法幫你
發表人: GGL    時間: 2007-4-9 03:48 AM

po完才看到...
奇怪,怎麼標題跟內容說的剛好相反...而我的方法是根據標題寫的

算了,懶的改了,反正你內容寫得我的方法裡面有提到...

ps.仔細看code,我有加入一些東西,並非完全一樣...
發表人: 冷井    時間: 2007-6-7 10:47 PM

在 AL8 Forum 找到教學:
http://www.alan888.com/Discuz/thread-83504-1-1.html




歡迎光臨 TWed2k (http://twed2k.org/) Powered by Discuz! 4.1.0