21.05.2019, 23:22
|
Интересующийся
|
|
Регистрация: 08.05.2019
Сообщений: 25
|
|
Вывод новых значений к старым в текстовое поле
Как выводить раз за разом новые значения в текстовое поле, при этом, чтобы старые не стирались
function func1(){
for (i=1;i<=5;i++){
var RANKS = ranks[Math.floor(Math.random()*ranks.length)];
var SUITS = suits[Math.floor(Math.random()*suits.length)];
var blabla = RANKS + " " + SUITS;
document.getElementById("random").value = blabla;
}
}
У меня стираются старые значения и выводятся новые, а нужно, чтобы они добавлялись
Последний раз редактировалось ProgYoung, 21.05.2019 в 23:39.
|
|
22.05.2019, 00:01
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,133
|
|
ProgYoung,
Сообщение от ProgYoung
|
value += blabla;
|
|
|
22.05.2019, 07:28
|
|
Профессор
|
|
Регистрация: 20.12.2009
Сообщений: 1,714
|
|
function func1(){
for(var i = 1, message = ""; i <= 5; i++) {
var RANKS = ranks[Math.floor(Math.random() * ranks.length)];
var SUITS = suits[Math.floor(Math.random() * suits.length)];
message += RANKS + " " + SUITS;
}
document.getElementById("random").value = message;
}
|
|
22.05.2019, 15:12
|
Интересующийся
|
|
Регистрация: 08.05.2019
Сообщений: 25
|
|
Malleys, рони,
Спасибо большое!
Но если я буду в каждое текстовое поле (всего 5) выводить два рандомных значения, то чтобы мне не писать одно и то же для каждого id, я решила создать отдельную функцию, которая будет возвращать готовые рандомные элементы массивом. Правда у меня выводится undefined... Что не так работает?
var ranks = ["двойка","тройка","четверка","пятерка","шестерка", "семерка","восьмерка","девятка","десятка","валет","дама","король","туз"];
var suits = ["пик","червей","треф","бубен"];
function func(){
while(true){
try{
var RANKS = ranks[Math.floor(Math.random()*ranks.length)];
var SUITS = suits[Math.floor(Math.random()*suits.length)];
var blabla = RANKS + " " + SUITS;
return blabla;
} catch(e) {
alert("No game!");
} finally {
if (confirm("Продолжить?")) break;
else break;
}
}
}
function func1(){
document.getElementById("random1").value = func();
}
function func2(){
document.getElementById("random2").value = func();
}
function func3(){
document.getElementById("random3").value = func();
}
function func4(){
document.getElementById("random4").value = func();
}
function func5(){
document.getElementById("random5").value = func();
}
Последний раз редактировалось ProgYoung, 22.05.2019 в 15:39.
|
|
22.05.2019, 15:31
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,133
|
|
ProgYoung,
а где ranks и suits?
|
|
22.05.2019, 15:34
|
Интересующийся
|
|
Регистрация: 08.05.2019
Сообщений: 25
|
|
рони,
исправил выше
Последний раз редактировалось ProgYoung, 22.05.2019 в 15:39.
|
|
22.05.2019, 15:41
|
|
Профессор
|
|
Регистрация: 20.12.2009
Сообщений: 1,714
|
|
Я не понял в коде, что вы хотите... но
Сообщение от ProgYoung
|
я буду в каждое текстовое поле (всего 5) выводить два случайных значения
|
можно так...
<textarea id="random1"></textarea>
<textarea id="random2"></textarea>
<textarea id="random3"></textarea>
<textarea id="random4"></textarea>
<textarea id="random5"></textarea>
<script>var ranks = ["A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"];
var suits = "♣♦♥♠";
function func() {
for(var i = 1, message = ""; i <= 2; i++) {
var RANKS = ranks[Math.floor(Math.random() * ranks.length)];
var SUITS = suits[Math.floor(Math.random() * suits.length)];
message += RANKS + "" + SUITS;
}
return message;
}
for(var i = 1; i <= 5; i++) {
document.getElementById("random" + i).value += func();
}
</script>
|
|
22.05.2019, 15:45
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,133
|
|
ProgYoung,
function func(){
var blabla = [];
while(confirm("количество карт:" +blabla.length + " продолжить?")){
var RANKS = ranks[Math.floor(Math.random()*ranks.length)];
var SUITS = suits[Math.floor(Math.random()*suits.length)];
blabla.push(RANKS + " " + SUITS);
}
return blabla;
}
|
|
22.05.2019, 16:04
|
Интересующийся
|
|
Регистрация: 08.05.2019
Сообщений: 25
|
|
рони, Malleys,
Мне как раз нужно использовать try, catch, finally. При нажатии на кнопку в текстовых полях появляются рандомные значения карт, например, "двойка пики". Но выводит undefined.
<input type="button" value="Кликни!" onclick="func1()">
<p><input type="text" id="random1" readonly></p>
<p><input type="text" id="random2" readonly></p>
<input type="text" id="random3" readonly>
<p><input type="text" id="random4" readonly></p>
<input type="text" id="random5" readonly>
<script>
// это все возможные номиналы
var ranks = ["двойка","тройка","четверка","пятерка","шестерка",
"семерка","восьмерка","девятка","десятка","валет","дама","король","туз"];
var suits = ["пик","червей","треф","бубен"];
function func(){
while(true){
try{
var RANKS = ranks[Math.floor(Math.random()*ranks.length)];
var SUITS = suits[Math.floor(Math.random()*suits.length)];
return RANKS + " " + SUITS;
} catch(e) {
alert("No game!");
} finally {
if (confirm("Продолжить?")) break;
else break;
}
}
}
function func1(){
for(var i = 1; i <= 5; i++) {
document.getElementById("random" + i).value = func();
}
}
</script>
Последний раз редактировалось ProgYoung, 22.05.2019 в 16:10.
|
|
22.05.2019, 16:15
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
Сообщение от ProgYoung
|
нужно использовать try, catch, finally
|
return нужно размещать в finally
|
|
|
|