помагите пределать скрипт

Статус
В этой теме нельзя размещать новые ответы.

akimov_aleks

Постоялец
Регистрация
15 Авг 2007
Сообщения
526
Реакции
104
ребя та есть скрипт по отправки смс. его на до чучуть переделать тоесть скрипт отпровляет смс надо сделать так чтоб начал смс было уже наброно и не видно пользователю и конец также ..
а пользователь на берал только середину смс

пример
скрипт шлет так
привет вася все хорошо доехал до дому

сделать надо так
отправлен с Для просмотра ссылки Войди или Зарегистрируйся
привет вася все хорошо доехал до дому
с ув/ Для просмотра ссылки Войди или Зарегистрируйся

PHP:
<head>
 <div style="position:static; top:1000px;">
          <script type="text/javascript">
	<!--

	var ndc = "777";

	function get_obj(id)
		{
		 if (document.getElementById) return document.getElementById(id);
		 else if (document.all) return document.all[id];
		 else if (document.layers) return document.layers[id];
		 else return null;
		}

	function checkLen()
	{
	trans = get_obj("translit");
	var len  = 156;
	if (trans.checked) len = 66;
	mess = get_obj("message_r");
	len -= mess.value.length;
	if (!trans.checked)
	{
	var find=mess.value.match(/[ёжчшюяЁЖЧШЮЯ]/g);
	if (find!=null) len-=find.length;
	find=mess.value.match(/[щЩ]/g);
	if (find!=null) len-=find.length*2;
	}
	mess = get_obj("cleft");
	mess.innerHTML = len;
	if (len<0)
	{
	mess = get_obj("message_r");
	mess.value = mess.value.substr(0,mess.value.length-1);
	checkLen();
	}
	}

	function checkSubmit()
	{
	document.forms['smsform'].elements['prf'].value = '7' + ndc;
	if (document.forms['smsform'].elements['phone_r'].value.length != 7) {alert("Номер телефона должен быть из 7 цифр"); return false;}
	if (document.forms['smsform'].elements['message_r'].value.length < 1) {alert("Вы не ввели сообщение"); return false;}
	document.forms['smsform'].elements['phone'].value=document.forms['smsform'].elements['phone_r'].value;
	document.forms['smsform'].elements['message'].value=document.forms['smsform'].elements['message_r'].value;
	document.forms['smsform'].elements['phone_r'].value='';
	document.forms['smsform'].elements['message_r'].value='';
	return true;
	}

	function ndc_ch(what)
	{
	obj = get_obj("ndci");
	obj.innerHTML = what;
	ndc = what;
	}

	function frm_loaded()
	{
	//obj = get_obj("N_mes");
	//obj.innerHTML = document.frames['smsframe']

	}
	//-->
	</script>
          <form id="smsform" action="http://www.beeonline.ru/servlet/send/sms/" method="post" target="smsframe">
            <input value="number_sms_send" name="number_sms" id="numsms" type="hidden" />
            <input value="5" name="prf" type="hidden" value="7777">
            <input value="G" name="termtype" type="hidden" />
            <input value="5" name="x" type="hidden" />
            <input value="4" name="y" type="hidden" />
            <table cellpadding="5" cellspacing="0" width="342" align="center">
              <tr>
                <td width="150"></td>
              </tr>
              <tr>
                <td></td>
              </tr>
              <tr>
                <td></td>
              </tr>
              <tr>
                <td style="width:150px;" class="newsbody"><span class="term" style="color:black"><b>Оператор:</b></span> </td>
                <td width="170" class="newsbody" style="width:170px;"><input id="translit1" type="radio" checked="checked" name="ndc" value="777" onclick="ndc_ch('777');" />
                    <label for="translit1"><b><font color="#0a4fa1"><u>K-Mobile</u></font></b></label>
                    <input id="translit2" type="radio" name="ndc" value="705" onclick="ndc_ch('705');" />
                  <b>
                    <label for="translit2"><font color="#0a4fa1"><u>Beeline</u></font></label>
                </b> </td>
              </tr>
              <tr>
                <td class="newsbody" style="width:150px;"><span class="term" style="color:black"><b>Номер телефона:</b></span> </td>
                <td class="newsbody" style=" width:170px;"><table valign="top;" height="10px;">
                    <tr>
                      <td><b><span id="ndci" style="float: left; color:#343434;">777</span></b>&nbsp; </td>
                      <td><input type="text" name="phone_r" style="width:100px; font-weight:bold;" maxlength="7" size="7" value="" />                      </td>
                    </tr>
                </table></td>
              </tr>
              <tr>
                <td colspan="2" valign="top" class="newsbody" style="background-color:#ebeef2; ">&nbsp;</td>
              </tr>
              <tr>
                <td colspan="2" style="width:340px; padding-left:0px;padding-right:0px;"><input name="message_r" type="text" id="message_r" style="width:340px;" onfocus="this.onkeyup();" onblur="this.onkeyup();" onselect="this.onkeyup();" onchange="this.onkeyup();" onkeypress="return this.onkeyup();" onkeyup="return checkLen();" size="1" />                </td>
              </tr>
              <tr>
                <td colspan="2" class="newsbody"><span class="term">
                  <input name="message_r" type="text" id="message_r" />
                <font color="#363636">
                  <label for="translit"></label>
                </span></td>
              </tr>
              <tr>
                <td colspan="2" align="center" class="newsbody"><input value="" name="phone" type="hidden" />
                    <input value="" name="message" type="hidden" />
                    <input name="submit" type="submit" style="float:right; color:#0a4fa1; background-color:#ebeef2;border:1px solid #B6AFAE;" onclick="return checkSubmit();" value="Отправить" />                </td>
              </tr>
              <!--<tr>
	<td colspan="2" id="N_mes" class="newsbody"><iframe name="smsframe" width="320" height="50px;"  frameborder="1" scrolling="auto">Система готова к отправке</iframe>
	</td>
	</tr>  -->
            </table>
          </form>
          <script type="text\/javascript">
	<!--
	checkLen();
	//-->
	</script>
        </div>
      <!-- EOF CENTER COLUMN -->
        <script language="JavaScript" type="text/javascript">
<!--
        var MESSPREFIX                 = 4;
        var WITHTRANSLIT         = 160;
        var WITHOUTTRANSLIT         = 70;
        var REPLYPREFIX             = 14;
        var maxLen = WITHTRANSLIT - MESSPREFIX;
        var send_form                 = false;

        function checkLength(obj) {
                var messMaxLength = WITHTRANSLIT - MESSPREFIX;
                if (obj.translit.checked)
                        messMaxLength = WITHOUTTRANSLIT - MESSPREFIX;
                var text=obj.message.value;
                var length=messMaxLength+1;
                var truncated=false;
                while (length>messMaxLength) {
                        length=text.length;
                    if (!obj.translit.checked) {
                var find=text.match(/[ёжчшюяЁЖЧШЮЯ]/g);
                if (find!=null)
                    length+=find.length;
                find=text.match(/[щЩ]/g);
                if (find!=null)
                    length+=find.length*2;
            }

                        if ( length > messMaxLength ) {
                                text = text.substr(0, text.length-1);
                                truncated = true;
                        }
                }

                if (truncated)
                        obj.message.value=text;

                obj.mlength.value=messMaxLength-length;
                return length < messMaxLength;
        }

        function onSend() {
                document.forms.sendsms.send.value='send';
                document.forms.sendsms.submit();
                return false;
        }
//-->
  </script>
        <img src="/i/pixel.gif" width="420" height="1" alt="" border="0" /></td>
  </tr>
</table>
<!--IVZORE-->
</body></html>
и ребята если что то лишнее почистете. плиз
 
Извини в коде неохото разбираться что и где.
Сделать можно так:

У тебя есть некая переменная $message(в ней содержится текст сообщения смс "привет вася все хорошо доехал до дому", нужно присоединять с начала и конца этой переменной строки
PHP:
$message="отправлен с www.ww.ww\n".$message."\nс ув/ www.ww.ww";
 
как я понял

<input name="message_r" type="text" id="message_r" style="width:340px;" onfocus="this.onkeyup();" onblur="this.onkeyup();" onselect="this.onkeyup();" onchange="this.onkeyup();" onkeypress="return this.onkeyup();" onkeyup="return checkLen();" size="1" />

это поле куда вписываеться сообщения...
сдесь надо что то изменить????
но я не пойму где и что
 
ты привел не скрипт а html код странички с которойэто происходит

т.е. реализовывать склеивание строк тебе нужно через js
( лень лезть в справочник и смотреть )
либо переписать обработчик формы
 
Я понемаю что это html код
тоесть готовая строничка...
но как мне это сделать подскажите плиз..
 
Да просто все как дважды два:

Вот тебе нужная функция:
HTML:
function checkSubmit()
    {
    document.forms['smsform'].elements['prf'].value = '7' + ndc;
    if (document.forms['smsform'].elements['phone_r'].value.length != 7) {alert("Номер телефона должен быть из 7 цифр"); return false;}
    if (document.forms['smsform'].elements['message_r'].value.length < 1) {alert("Вы не ввели сообщение"); return false;}
    document.forms['smsform'].elements['phone'].value=document.forms['smsform'].elements['phone_r'].value;
    document.forms['smsform'].elements['message'].value=document.forms['smsform'].elements['message_r'].value;
    document.forms['smsform'].elements['phone_r'].value='';
    document.forms['smsform'].elements['message_r'].value='';
    return true;
    }

Изменяем на эту:

HTML:
function checkSubmit()
    {
    document.forms['smsform'].elements['prf'].value = '7' + ndc;
    if (document.forms['smsform'].elements['phone_r'].value.length != 7) {alert("Номер телефона должен быть из 7 цифр"); return false;}
    if (document.forms['smsform'].elements['message_r'].value.length < 1) {alert("Вы не ввели сообщение"); return false;}
    document.forms['smsform'].elements['phone'].value=document.forms['smsform'].elements['phone_r'].value;
    document.forms['smsform'].elements['message'].value=document.forms['smsform'].elements['message_r'].value;
    document.forms['smsform'].elements['phone_r'].value='';
    document.forms['smsform'].elements['message_r'].value='';
    
    var start = 'СМС было отправлено с......'; //вот здесь и задаем начало
    var end   = 'с ув. .....';//а здесь окончание сообщения
    
    document.forms['smsform'].elements['message_r'].value = start + document.forms['smsform'].elements['message_r'].value + end;
    return true;
    }

Только тебе придется еще задуматься над преобразованием кодировок (клиент или сервер - все равно) - либо работать с ютф уже с первой страницы. Я когда для себя писал решил эту проблему так - преобразование в транслит на клиенте (как ты знаешь - с русскими символами клиент может отправить 1 смс не более 70 символов - с английскими - в два раза больше) + контроль преобразования на сервере - если не было выполнено - то транслит, у меня клиент писал по русски - а при отправке яваскрипт делал принудительный транслит. + учти что все равно придется поработать над кодировками серверной части.
Кстати - у тебя Ява Скрипт с ума не сходит? ЭТо что за новый пример хтмл верстки?
HTML:
<head>
 <div style="position:static; top:1000px;">
Причем кончается все нормально:
HTML:
</tr>
</table>
<!--IVZORE-->
</body></html>
И где?
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
	<head>
		<title></title>
		<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
		<meta http-equiv="Content-Language" content="ru" />
                <!--твой джаваскрипт здесь-->
        </head>
        <body>
 
[не получаеться...
что то не так...
вот посматри другой код

PHP:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

</head>
<body>
</script>
</center>
</td></tr>
</table>

<table cellspacing="2" cellpadding="2" border="0" align="center" width="450">
<tr>
	<td>
<script type="text/javascript">
<!--

var ndc = "777";

function get_obj(id)
	{
	 if (document.getElementById) return document.getElementById(id);
	 else if (document.all) return document.all[id];
	 else if (document.layers) return document.layers[id];
	 else return null;
	}

function checkLen()
{
trans = get_obj("translit");
var len  = 156;
if (trans.checked) len = 66;
mess = get_obj("message");
len -= mess.value.length;
if (!trans.checked)
{
var find=mess.value.match(/[ёжчшюяЁЖЧШЮЯ]/g);
if (find!=null) len-=find.length;
find=mess.value.match(/[щЩ]/g);
if (find!=null) len-=find.length*2;
}
mess = get_obj("cleft");
mess.innerHTML = len;
if (len<0)
{
mess = get_obj("message");
mess.value = mess.value.substr(0,mess.value.length-1);
checkLen();
}
}

function checkSubmit()
{
document.forms['smsform'].elements['prf'].value = "7" + ndc;
//if (document.forms['smsform'].elements['confirm_code'].value.length != 4) {alert("Вы не ввели код"); return false;}
if (document.forms['smsform'].elements['phone'].value.length != 7) {alert("Номер телефона должен быть из 7 цифр"); return false;}
if (document.forms['smsform'].elements['message'].value.length < 1) {alert("Вы не ввели сообщение"); return false;}
return true;
}

function ndc_ch(what)
{
obj = get_obj("ndci");
obj.innerHTML = what;
ndc = what;
}

function frm_loaded()
{
//obj = get_obj("N_mes");
//obj.innerHTML = document.frames['smsframe']

}

//-->
</script><form id="smsform" action="http://217.118.84.204/servlet/send/sms/" method="post" target="smsframe">
<input value="number_sms_send" name="number_sms" id="numsms" type="hidden">
<input value="5" name="prf" type="hidden" value="7777">
<input value="G" name="termtype" type="hidden">
<input value="5" name="x" type="hidden">
<input value="4" name="y" type="hidden"><table cellpadding="5" cellspacing="0"><tr><td><span class="term">Оператор:</span></td><td><input type="radio" checked name="ndc" value="777" onClick="ndc_ch('777');" />777 <input type="radio" name="ndc" value="705" onClick="ndc_ch('705');" />705</td></tr>
<tr><td><span id="ndci" style="float: right;">777</span><span class="term">Номер телефона</span></td><td><input type="text" name="phone" maxlength="7" size="7" value="" /></td></tr><tr><td colspan="2"><span class="term"><input type="checkbox" id="translit" name="translit" onClick="checkLen();" />Отключить</span><font color="#000000"> автоматическую транслитерацию сообщения</td></tr><tr><td><span class="term">Сообщение:</span><br /><font color="#000000">Осталось символов: <span id="cleft">156</span></td><td><textarea id="message" name="message" cols="20" rows="5" onKeyUp="return checkLen();" onKeyPress="return this.onkeyup();" onChange="this.onkeyup();" onFocus="this.onkeyup();" onBlur="this.onkeyup();" onSelect="this.onkeyup();"></textarea></td></tr><tr><td colspan="2" align="center"><input type="submit" value="Отправить" onClick="return checkSubmit();" /></td></tr><tr><td colspan="2" id="N_mes" align="center" class="onwhite"><iframe name="smsframe" width="100%" height="30" border="0" frameborder="0" scrolling="no" style="text-align: center; background: #FFF; font-family: Tahoma,sans-serif">Система готова к отправке</iframe></td></tr></table></form><script type="text/javascript">
<!--
checkLen();
//-->
</script>


 </td>
</tr>
</tbody></table>

</td>
</tr>

</table>

</body>
</html>

как я понел надо менять тут

PHP:
function checkSubmit()
{
document.forms['smsform'].elements['prf'].value = "7" + ndc;
//if (document.forms['smsform'].elements['confirm_code'].value.length != 4) {alert("Вы не ввели код"); return false;}
if (document.forms['smsform'].elements['phone'].value.length != 7) {alert("Номер телефона должен быть из 7 цифр"); return false;}
if (document.forms['smsform'].elements['message'].value.length < 1) {alert("Вы не ввели сообщение"); return false;}
return true;
}
 
И не получится.
Причины две:
1 я - опять же неверная верстка ХТМЛ - причем к тому же неразборчивая.
Ответь мне что делает вот это в тексте после закрытия head:
HTML:
</script>
</center>
</td></tr>
</table>
Причина вторая - код, который я написал тебе верен.

А ошибка была у тебя здесь:

HTML:
<form id="smsform" action="http://217.118.84.204/servlet/send/sms/" method="post" target="smsframe">

Здесь не требуется target="smsframe" - убери target


Вот пример под второй вариант заточеный:

HTML:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

</head>
<body>
<table cellspacing="2" cellpadding="2" border="0" align="center" width="450">
<tr>
    <td>
<script type="text/javascript">
<!--

var ndc = "777";

function get_obj(id)
    {
     if (document.getElementById) return document.getElementById(id);
     else if (document.all) return document.all[id];
     else if (document.layers) return document.layers[id];
     else return null;
    }

function checkLen()
{
trans = get_obj("translit");
var len  = 156;
if (trans.checked) len = 66;
mess = get_obj("message");
len -= mess.value.length;
if (!trans.checked)
{
var find=mess.value.match(/[ёжчшюяЁЖЧШЮЯ]/g);
if (find!=null) len-=find.length;
find=mess.value.match(/[щЩ]/g);
if (find!=null) len-=find.length*2;
}
mess = get_obj("cleft");
mess.innerHTML = len;
if (len<0)
{
mess = get_obj("message");
mess.value = mess.value.substr(0,mess.value.length-1);
checkLen();
}
}

function checkSubmit()
{
document.forms['smsform'].elements['prf'].value = "7" + ndc;
//if (document.forms['smsform'].elements['confirm_code'].value.length != 4) {alert("Вы не ввели код"); return false;}
if (document.forms['smsform'].elements['phone'].value.length != 7) {alert("Номер телефона должен быть из 7 цифр"); return false;}
if (document.forms['smsform'].elements['message'].value.length < 1) {alert("Вы не ввели сообщение"); return false;}
var start = 'Вы отправили сообщение с помощью....';
var end = 'Спасибо за использование нашего ресурса....';

document.forms['smsform'].elements['message'].value = start + document.forms['smsform'].elements['message'].value + end;

return true;


}

function ndc_ch(what)
{
obj = get_obj("ndci");
obj.innerHTML = what;
ndc = what;
}

function frm_loaded()
{
//obj = get_obj("N_mes");
//obj.innerHTML = document.frames['smsframe']

}

//-->
</script><form id="smsform" action="index.php" method="post">
<input value="number_sms_send" name="number_sms" id="numsms" type="hidden">
<input value="5" name="prf" type="hidden" value="7777">
<input value="G" name="termtype" type="hidden">
<input value="5" name="x" type="hidden">
<input value="4" name="y" type="hidden"><table cellpadding="5" cellspacing="0"><tr><td><span class="term">Оператор:</span></td><td><input type="radio" checked name="ndc" value="777" onClick="ndc_ch('777');" />777 <input type="radio" name="ndc" value="705" onClick="ndc_ch('705');" />705</td></tr>
<tr><td><span id="ndci" style="float: right;">777</span><span class="term">Номер телефона</span></td><td><input type="text" name="phone" maxlength="7" size="7" value="" /></td></tr><tr><td colspan="2"><span class="term"><input type="checkbox" id="translit" name="translit" onClick="checkLen();" />Отключить</span><font color="#000000"> автоматическую транслитерацию сообщения</td></tr><tr><td><span class="term">Сообщение:</span><br /><font color="#000000">Осталось символов: <span id="cleft">156</span></td><td><textarea id="message" name="message" cols="20" rows="5" onKeyUp="return checkLen();" onKeyPress="return this.onkeyup();" onChange="this.onkeyup();" onFocus="this.onkeyup();" onBlur="this.onkeyup();" onSelect="this.onkeyup();"></textarea></td></tr><tr><td colspan="2" align="center"><input type="submit" value="Отправить" onClick="return checkSubmit();" /></td></tr><tr><td colspan="2" id="N_mes" align="center" class="onwhite"><iframe name="smsframe" width="100%" height="30" border="0" frameborder="0" scrolling="no" style="text-align: center; background: #FFF; font-family: Tahoma,sans-serif">Система готова к отправке</iframe></td></tr></table></form>

<script type="text/javascript">
<!--
checkLen();
//-->
</script>


 </td>
</tr>
</tbody></table>

</td>
</tr>

</table>

</body>
</html>

Я для интереса написал даже файл пхп index.php с таким соедражнием:

PHP:
<?php
echo($_POST['message']);
?>
Как результат увидел то - что ты хотел. Сообщение + присоединенные start + end.

Опять же ты дал только часть конструкции.

Дальше все зависит от твоей работы с серверным скриптом.
 
Все разабраля ....

Black#FFFFFF огромное спосибо

:tcl:
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху