Вопрос Данные из одного поля в другое
Добрый день!
Есть 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, время: 17:54. |