Задать вопрос
@alfredohulio

Как вставить в value значение из цикла по порядку?

Добрый вечер, предыдущие 3 мои темы можно удалять. Но эту прошу оставить.
Собственно как сделать чтобы в каждом input в value писалось значение из цикла.
А именно в 1 input в value чтобы писалось - Значение переменной i равно 1.
А во 2 input в value чтобы писалось - Значение переменной i равно 2.

В коде который ниже. Если нажать на кнопку submit то в 2-х input сразу пишеться одно и тоже. А мне нужно чтобы в одном писалось значение 1 а во втором значение 2.

<?php
if(isset($_POST['submit'])) {
	$i = 0;
	while ($i < 2) {
		$i = $i + 1;
	}
}

?>



<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
<form method="post">
Первое поле<br> <input type="text" value="<?php if(isset($i)) echo "Значение переменной i равно $i"; ?>"><br>
Второе поле<br> <input type="text" value="<?php if(isset($i)) echo "Значение переменной i равно $i"; ?>"><br><br>
<input type="submit" value="Отправить" name="submit">
</form>
</body> 
</html>


КОД НИЖЕ ДЛЯ ПОЛЬЗОВАТЕЛЯ СODERISIMO FOR НЕ ПОМОГ

<?php
if(isset($_POST['submit'])) {

for ($i = 0; $i < 2; $i++) {
$massiv = "<input type='text' value='Значение переменной i равно $i' ><br>";
}
}
?>


<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
<form method="post">
Первое поле<br> <input type="text" value="<?php if(isset($massiv)) echo $massiv; ?>"><br>
Второе поле<br> <input type="text" value="<?php if(isset($massiv)) echo $massiv; ?>"><br><br>
<input type="submit" value="Отправить" name="submit">
</form>
</body> 
</html>
  • Вопрос задан
  • 1760 просмотров
Подписаться 1 Оценить 2 комментария
Решения вопроса 1
rassel101
@rassel101
back-end разработчик
Вот так например. Правда не пойму что за задача стоит перед вами.
<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="utf-8">
</head>
<body>
	<form method="post">
		<?php 
			$inputs = array('Первое поле', 'Второе поле');
			$isPost = !! isset($_POST['submit']);
		?>

		<?php for($i = 0; $i < 2; $i++) : ?>
			<?php echo $inputs[$i]; ?><br><input type="text" value="<?php echo ($isPost) ? sprintf("Значение переменной i равно %s", $i + 1) : ''; ?>"><br>
		<?php endfor; ?>

		<input type="submit" value="Отправить" name="submit">
	</form>
</body> 
</html>


Тоже самое javascript'том делается проще

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="utf-8">
</head>
<body>
	<form method="post" id="form">
		Первое поле<br> <input type="text"><br>
		Второе поле<br> <input type="text"><br><br>
		
		<input type="submit" value="Отправить" name="submit">
	</form>

	<script type="text/javascript">
		var formContainer = document.querySelector('#form'),
			button = formContainer.querySelector('input[type="submit"]');

		button.addEventListener('click', function(event) {
			var inputs = formContainer.querySelectorAll('input[type="text"]');

			[].forEach.call(inputs, function(input, index) {
				input.value = 'Значение переменной i равно ' + (++index);
			});

			event.preventDefault();
		});
	</script>
</body> 
</html>


https://jsfiddle.net/jtmo5zgm/
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы