Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Многострочные строковые переменные - КАК? (https://javascript.ru/forum/misc/17666-mnogostrochnye-strokovye-peremennye-kak.html)

temp 28.05.2011 21:04

Многострочные строковые переменные - КАК?
 
Всем привет!
Помогите решить задачку! (скорее всего не обойдется без JS)

В общем есть простенькая форма

Код:

<form method="post" name="addform" action="http://site.ru"
                              enctype="multipart/form-data">
  <input name="name" type="text" value="" ><br> 
  <input name="tel" type="text" value="" ><br>
  <textarea cols="80" rows="10" name="message"></textarea><br>
  <input name="sbm" value="отправить" type="submit"><br>
</form>

скрипт получает три переменных: name, tel, message
тут все просто!

Требуется другая реализация, вместо

Код:

<textarea cols="80" rows="10" name="message"></textarea><br>
будет два поля, например:

Код:

  <input name="p1" type="text" value="" ><br> 
  <input name="p2" type="text" value="" ><br>

но надо чтобы в скрипт передавались не переменные p1 и p2 а переменная message которая бы состояла как раз из этих p1 и p2? (с переносом строки) т.е что-то вроде

Код:

  message.value="p1"+"p2"

Как это сделать? Не понимаю... :thanks:

monolithed 28.05.2011 21:07

самая обыкновенная операция конкатенации
var str1 = 'Hellow ',  
    str2 = 'World',
    msg = str1 + str2 + '!';

alert(msg);

temp 28.05.2011 21:17

Извиняюсь за свою неграмотность, это будет выглядеть так?
index.html
....
Код:

<form method="post" name="addform" action="http://site.ru"
                              enctype="multipart/form-data">
  <input name="name" type="text" value="" ><br> 
  <input name="tel" type="text" value="" ><br>
 
  <input name="str1" type="text" value="" ><br>
  <input name="str2" type="text" value="" ><br>
<!--  <textarea cols="80" rows="10" name="message"></textarea><br> -->

<script>
var str1 = 'Hellow ',
    str2 = 'World',
    message = str1 + str2 + '!';
</script>

  <input name="sbm" value="отправить" type="submit"><br>
</form>

....

monolithed 28.05.2011 21:35

Цитата:

Сообщение от temp
Извиняюсь за свою неграмотность, это будет выглядеть так?

какие конкретно значения вы хотите записать в эту переменную message?

temp 28.05.2011 21:44

строковые, то есть математических операций не будет

monolithed 28.05.2011 21:57

Цитата:

Сообщение от temp
строковые, то есть математических операций не будет

ну почему же?
var num1 = 1,  
    num2 = 2,
    str = 'Hellow World '
    msg = str + (num1 + num2) + '!';

alert(msg);

temp 28.05.2011 22:10

у меня задача стоит не такая...
я не знаю как передать значение в переменную message - она у меня пустая если я использую форму вида
Код:

  <input name="str1" type="text" value="" ><br>
  <input name="str2" type="text" value="" ><br>
<!--  <textarea cols="80" rows="10" name="message"></textarea><br> -->

<script>
var str1 = 'Hellow ',
    str2 = 'World',
    message = str1 + str2 + '!';
</script>


monolithed 28.05.2011 22:36

Цитата:

Сообщение от temp
у меня задача стоит не такая...

так излагайте свои мысли конкретней, даю последний пример:
<script type="text/javascript">
window.onload = function() {
   var forma = document.forma.elements, i = forma.length;
   while(i--) {
        forma[i].onkeyup = function() {
            function int(i) {
                return +i;
            }
            forma[2].value = int(forma[0].value) + int(forma[1].value);
        };
    }
};
</script>
<form name="forma" action="" method="">
    <input type="text" value="" />+
    <input type="text" value="" />
    <input type="button" value="" disabled="disabled" />
</form>

temp 28.05.2011 22:53

Ну это опять не то!
Куда уже корректнее объяснятся!

Скрипт получает на проверку три переменные! (я их перечеслял)
одна из этих переменных message - которая получалась из поля <textarea>

я же не хочу вводить данные в <textarea> а хочу использовать от 2 до n текстовых полей, и данные введенные в них сформируют переменную message

то есть
message = str1 \r\n + str 2 \r\n + str3 + \r\n и тд... ир
а выводится она будет в <textarea>

Aetae 28.05.2011 23:11

На сервере сложите полученные значения и не е*те мозги.
На js это можно сделать, но то будет решение через жопу.


Часовой пояс GMT +3, время: 12:18.