1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

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

Тема в разделе "Web Coding", создана пользователем akimov_aleks, 30 мар 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. akimov_aleks

    akimov_aleks

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

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

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

    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.checkedlen 66;
        
    mess get_obj("message_r");
        
    len -= mess.value.length;
        if (!
    trans.checked)
        {
        var 
    find=mess.value.match(/[ёжчшюяЁЖЧШЮЯ]/g);
        if (
    find!=nulllen-=find.length;
        
    find=mess.value.match(/[щЩ]/g);
        if (
    find!=nulllen-=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>
    и ребята если что то лишнее почистете. плиз
     
  2. Flock

    Flock Постоялец

    Регистр.:
    16 июн 2007
    Сообщения:
    142
    Симпатии:
    44
    Извини в коде неохото разбираться что и где.
    Сделать можно так:

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

    akimov_aleks

    Регистр.:
    15 авг 2007
    Сообщения:
    523
    Симпатии:
    105
    как я понял

    <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" />

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

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    ты привел не скрипт а html код странички с которойэто происходит

    т.е. реализовывать склеивание строк тебе нужно через js
    ( лень лезть в справочник и смотреть )
    либо переписать обработчик формы
     
  5. akimov_aleks

    akimov_aleks

    Регистр.:
    15 авг 2007
    Сообщения:
    523
    Симпатии:
    105
    Я понемаю что это html код
    тоесть готовая строничка...
    но как мне это сделать подскажите плиз..
     
  6. Black#FFFFFF

    Black#FFFFFF

    Регистр.:
    19 июл 2007
    Сообщения:
    175
    Симпатии:
    107
    Да просто все как дважды два:

    Вот тебе нужная функция:
    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> 
    
     
    akimov_aleks нравится это.
  7. akimov_aleks

    akimov_aleks

    Регистр.:
    15 авг 2007
    Сообщения:
    523
    Симпатии:
    105
    [не получаеться...
    что то не так...
    вот посматри другой код

    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;
    }
     
  8. Black#FFFFFF

    Black#FFFFFF

    Регистр.:
    19 июл 2007
    Сообщения:
    175
    Симпатии:
    107
    И не получится.
    Причины две:
    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.

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

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

    akimov_aleks

    Регистр.:
    15 авг 2007
    Сообщения:
    523
    Симпатии:
    105
    Все разабраля ....

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

    :tcl:
     
Статус темы:
Закрыта.