[코딩 뽀시래기]그누보드 5 회원가입 이메일 입력 양식 변경하는 방법을 알고싶습니다. 채택완료

안녕하세요!


1028547201_1648029059.9522.png

위에 이미지처럼 이메일 입력 양식을 

아이디 @ select 

형식으로 변경하고싶은데 어떻게 수정해야하는걸까요? 소소한 팁이라도 부탁드립니다 ㅠㅠ

답변 2개

채택된 답변
+20 포인트

pc 와 모바일 의 멤버스킨 디렉토리를 보면...

register_form.skin.php 파일이 있습니다.

아래의 부분을 찾습니다.

Copy
<input type="text" name="mb_email" value="<?php echo isset($member['mb_email'])?$member['mb_email']:''; ?>" id="reg_mb_email" required class="frm_input email full_input required" size="70" maxlength="100" placeholder="E-mail">

아래처럼 바꿉니다.

Copy
<input type="text" name="mb_email" value="<?php echo isset($member['mb_email'])?$member['mb_email']:''; ?>" id="reg_mb_email" required class="frm_input email full_input required" size="70" maxlength="100" placeholder="E-mail">

<br>
<input id=mailHead type=text>
@
<select id=mailTail>
    <option>선택</option>
    <option>naver.com</option>
    <option>daum.net</option>
    <option>gmail.com</option>
</select>
<script>
mailTail.onchange = function() {
    if (mailHead.value.trim() == "") alert("앞부분을 기입하세요");
    else reg_mb_email.value = mailHead.value.trim() + "@" + this.value; 
}
</script>

결과가 제대로 나오면 원래의 input 에 style=display:none 를 주거나

또는 type=hidden 을 주거나 한 다음 <br> 을 삭제하면 되겠습니다.

<option> 항목은 원하는만큼 추가하시고 css 등은 본인이 꾸며주세요.

Copy
<input style=display:none type="text" name="mb_email" value="<?php echo isset($member['mb_email'])?$member['mb_email']:''; ?>" id="reg_mb_email" required class="frm_input email full_input required" size="70" maxlength="100" placeholder="E-mail">
<input id=mailHead type=text>
@
<select id=mailTail>
    <option>선택</option>
    <option>naver.com</option>
    <option>daum.net</option>
    <option>gmail.com</option>
</select>
<script>
mailTail.onchange = function() {
    if (mailHead.value.trim() == "") alert("앞부분을 기입하세요");
    else reg_mb_email.value = mailHead.value.trim() + "@" + this.value; 
}
</script>
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니다!!! 정말 다른분들 작업한 내용 찾아봐도 이해가 안됐었는데 ㅜ ㅜ 친절하게 설명해주셔서 감사합니다!!!

댓글을 작성하려면 로그인이 필요합니다.

에고 제가 한가지를 빼먹었네요. 제가 회원 가입시에만을 생각했습니다.

이 폼은 회원 정보 열람이나 수정시에도 사용되는 폼이기 때문에

회원이나 관리자가 회원의 메일정보를 볼 경우에 위의 코드대로라면 메일부분이 공란이 됩니다. 

스크립트를 더 추가해야 합니다.

Copy
<input style=display:none type="text" name="mb_email" value="<?php echo isset($member['mb_email'])?$member['mb_email']:''; ?>" id="reg_mb_email" required class="frm_input email full_input required" size="70" maxlength="100" placeholder="E-mail">

<input id=mailHead type=text>
@
<select id=mailTail>
    <option>선택</option>
    <option>naver.com</option>
    <option>daum.net</option>
    <option>gmail.com</option>
</select>
<script>

// 추가부분 시작
if (reg_mb_email.value == "") mailHead.value = mailTail.value = "";
else {
    mailHead.value = reg_mb_email.value.split("@")[0];
    mailTail.value = reg_mb_email.value.split("@")[1]; 
}

// 추가부분 종료
mailTail.onchange = function() {
    if (mailHead.value.trim() == "") alert("앞부분을 기입하세요");
    else reg_mb_email.value = mailHead.value.trim() + "@" + this.value; 
}
</script>
로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

ㅠ.ㅠ 친절하게 추가 내용까지 .... 감사합니다!! 좋은 하루 보내세요 !!^^
말씀해주신 방식으로 했더니 너무 깔끔하게 입력이돼요! ㅠㅠ 감사합니다아아아 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고