Вопрос Данные из одного поля в другое
Добрый день!
Есть 2 поля: <input type="text" name="imya" value="" /> <input type="text" name="soobch" value="!данное из первого поля! , приветствуем вас" /> Подскажите, пожалуйста, как сделать так, что бы значение поля imya оказалось в поле soobch ? |
если быстро, некрасиво и некроссбраузерно, то можно так
<input type="text" name="imya" value="" oninput="this.nextElementSibling.value=this.nextElementSibling.value.replace(/^.*,/, this.value + ',')"> <input type="text" name="soobch" value="!данное из первого поля! , приветствуем вас" /> |
Pavel M, а вот так не проще?
<input oninput="this.nextElementSibling.value=this.value+ ', you are fucking motherfucker!'" /> <input /> |
Тут явно подгонка, так не делают чтобы из одного именованного поля валить валуе в другое, даже если и прибавлять.
Смысл в том что если поле с именем, значит оно уйдет на сервер. А зачем там это soobch вообще? Ну вот, поэтому если без имени для второго поля, если уж так надо именно input, то заделайте ему id в точности как name у того, первого. <input type="text" name="imya" value="" onchange="{document.getElementById(this.name).value=this.value+' превед!'}" /> <input type="text" id="imya" value="" /> Ну а если правильно, то вместо input втыкается любой там <p> |
Pavel M.,
Спасибо вам огромное! То что нужно было |
Подскажите, пожалуйста, как сделать сложнее:
Статичный текст !имя! статичный текст !имя2! статичный текст ? |
<input type="text" style="width: 500px"> <script> var template = function (name1, name2) { return "trololololol " + name1 + " dsafdfdsgfds " + name2 + " fdsafdsa"; } document.querySelector("input").value = template("Вася", "Маша"); </script> Пример с использованием дива, но я думаю понятно, что не важно куда класть полученную строку. |
Что-то не понял, как задать Васи и Маше input (что бы человек вводил машу и васю)
|
В смысле в первом инпуте человек ввел одно имя
Во втором инпуте ввел другое имя А в третьем инпуте было уже так: статичный текст !имя 1! статичный текст !имя 2! статичный текст |
<input type="text" class="name1" style="width: 500px"> <input type="text" class="name2" style="width: 500px"> <div></div> <script> var template = function (name1, name2) { return "trololololol " + name1 + " dsafdfdsgfds " + name2 + " fdsafdsa"; } var inputs = document.querySelectorAll("input"); var change = function () { document.querySelector("div").innerHTML = template(inputs[0].value, inputs[1].value); } inputs[0].addEventListener("change", change, true); inputs[1].addEventListener("change", change, true); </script> |
Супер!
Спасибо огромное! div заменил на textarea и получилось именно что я хотел. |
qwe88,
вообще в атрибутах скрипты лучше не писать. Лучше все делать в отдельном js файле |
Еще недочет. В форме несколько инпутов. Как сказать скрипту, что бы он брал данные из конкретных (например по id) ?
|
document.getElementById("someId"); document.querySelector("#id|.class|tagName"); document.querySelectorAll(...) |
Подскажите, пожалуйста, как это будет выглядеть?
|
Подскажите, пожалуйста, в какое место это нужно вставить?
|
<div class="trololo">trololo</div> <div class="ololo">ololo</div> <script> alert(document.querySelector(".trololo").innerHTML); alert(document.querySelector(".ololo").innerHTML) </script> |
qwe88,
Это должно быть вставлено где-то, где дом уже скачан и готов. Скорее всего на онлоад |
tsigel,
Что-то не понял. Может не в ту тему? |
qwe88,
Возможно что тема уже не та, да) Что вы хотите? Вы спросили где ставить код -- я сказал. Что не получается? |
Не очень, просто вы показали про алерт, а у меня другая ситуация, про инпуты. И никак не могу понять, в какое место вставить.
Изначально код был такой: <input type="text" class="name1" style="width: 500px"> <input type="text" class="name2" style="width: 500px"> <div></div> <script> var template = function (name1, name2) { return "trololololol " + name1 + " dsafdfdsgfds " + name2 + " fdsafdsa"; } var inputs = document.querySelectorAll("input"); var change = function () { document.querySelector("div").innerHTML = template(inputs[0].value, inputs[1].value); } inputs[0].addEventListener("change", change, true); inputs[1].addEventListener("change", change, true); </script> |
Цитата:
|
Ага. Пробовал в разные места пихать, но что-то не выходит
|
Ну выкладывайте свой код. Как я могу сказать куда это подсоединять не зная что у вас есть?
Вообще вам бы сделать это самостоятельно. Пусть вы потратите на это 3-4 часа зато нчнете понимать что происходит. Имея 2 работающих не сложных кода всегда можно их соединить. |
Ок, буду думать. Спасибо вам огромное :)
|
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 16:31. |