sms전송 제이쿼리 if문 질문합니다 [글씨색 변경..]
본문
<?
include_once('./common.php');
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/icode.sms.lib.php');
$send_hp = "*** 개인정보보호를 위한 휴대폰번호 노출방지 ***"; // 보내는 전화번호
$recv_hp = "*** 개인정보보호를 위한 휴대폰번호 노출방지 ***"; // 받는 전화번호
$send_number = "$send_hp";
$recv_number = "$recv_hp";
$sms_content = $_POST['sender']."\n".$_POST['msg_content'];
$SMS = new SMS; // SMS 연결
$SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']);
$SMS->Add($recv_number, $send_number, $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($sms_content)), "");
$SMS->Send();
alert("상담신청이 완료되었습니다.");
?>
2. 아래의 소스를 이용하여 발송페이지를 만듭니다. (div등의 레이어로 만드셔도 무방합니다)
<script>
function DoClear(tg) {
if (tg.value == tg.defaultValue) {
tg.value = '';
}
CalByte(tg);
}
function CalByte(tg){
var curText;
var strLen;
var byteIs;
var lastByte;
var thisChar;
var escChar;
var curTotalMsg;
var okMsg;
curText = new String(tg.value);
strLen = curText.length;
byteIs = 0;
for(i=0; i<strLen; i++) {
thisChar = curText.charAt(i);
escChar = escape(thisChar);
if (escChar.length > 4) {
byteIs += 2; //특수문자 한글인 경우.
}
else if(thisChar != '\r') {
//개행을 제외한 이외의 경우
byteIs += 1;
}
if(byteIs > 60){
alert('60바이트(한글30자)를 초과하실 수 없습니다.');
thisText = curText.substring(0, i);
tg.value = thisText;
byteIs = lastByte;
break;
}
lastByte = byteIs;
}
document.all.byte.value = byteIs;
}
function ClearMsg(){
document.all.msg_content.value = '';
CalByte(document.form_sms.msg_content);
document.form_sms.msg_content.focus();
}
function CheckIt(fm){
if(!fm.msg_content.value || fm.msg_content.value == fm.msg_content.defaultValue){
alert("[안내] 내용을 입력하세요.");
ClearMsg();
return false;
}
if(!fm.sender.value || fm.sender.value.length < 10){
alert("[안내] 보내는 분의 전화번호를 정확히 입력하세요.");
fm.sender.focus();
return false;
}
return true;
}
</script>
<form name="form_sms" id="form_sms" method="post" action="/sms_ok.php" onsubmit="return CheckIt(this);">
<div class="byte">
<input type="text" name="byte" class="sms_input_none" value="0" size="2" maxsize="3" readonly> / 60
</div>
<div class="lcd_bg">
<textarea name='msg_content' class='lcd' onclick='DoClear(this)' onselect='DoClear(this)' onchange='CalByte(this)'>빠른법률상담 원하시면 문자주세요.</textarea>
</div>
<div class="back_info">
<input type="text" name="sender" size="11" maxlength="11" style="ime-mode:disabled" class="sms_input" value="">
<input type="submit" value="전송">
</div>
</form>
위 소스는 http://dw.designweb.kr/board/gnuboard-4 에서 복사한 소스입니다
문제 :
input에 아무것도 작성하지않고 submit을 누르면 [안내] 내용을 입력하세요. 라는 경고창이 뜨는데 거기서 확인을 누르면
상담신청이 완료되었습니다. 경고창이 이어서 출력되면서 sms가 발송됩니다.
원하는방향 :
[안내] 내용을 입력하세요. 후에 확인을 누르면 아무동작도 안해야합니다.. 도움부탁드립니다
답변 2
아래와 같이 바꿔보세요.
function CheckIt(fm){
if(fm.msg_content.value==""){
alert("[안내] 내용을 입력하세요.");
return false;
}
}
메세지만 처리하는 함수 같은데 필요가 없는 부분이었습니다.