Как я могу отправить в Javascript значения элементов формы.Постоянно отправляю одно значение - PullRequest
0 голосов
/ 02 февраля 2019

<script>
function tikla()
{
	//var radio=document.getElementById('radio').value;
	var d2=document.getElementById('buton').value;
	alert(d2);
}
</script>
<?php 

	for($i=1;$i<5;$i++)
	{?>
    	<form>
        <?php echo $i; ?>
            <input type="text" name="txt" value="<?php echo $i; ?>" disabled="disabled" /> 
          	<input type="button" id="buton" value="<?php echo $i; ?>" onclick="tikla(this.value)" />
         </form>
	<?php }?>

В PHP я хочу отправлять кнопки или текстовые значения в Javascript, но я могу отправить только одно значение.Я не вижу других значений цикла.

Ответы [ 2 ]

0 голосов
/ 02 февраля 2019

Это действительно намерение иметь несколько форм?Нет никаких причин, почему бы и нет, но вы можете выполнить то, что вам нужно, вообще говоря, с помощью одной формы.

Используя nodelist, вы можете выполнять итерацию и назначать прослушиватели событий отдельно для HTML - встроенные обработчики событий в настоящее время считаются старой школой.В этом примере обработчик событий назначается каждой кнопке и просто предупреждает числовое значение, назначенное кнопке (как в вашем примере), а также значение и тип текстового поля, чтобы показать, как вы можете получить к нему доступ при необходимости.

Быстрая демонстрация

<!DOCTYPE html>
<html lang='en'>
    <head>
        <meta charset='utf-8' />
        <title>JS Func</title>
        <style>
            fieldset{border:none;margin:1rem auto}
        </style>
    </head>
    <body>
        <form>
        <?php
            for( $i=1; $i<5; $i++ ) {
                $rand = rand(1,99);
        ?>
                <fieldset>
                    <?php echo $i; ?>
                    <input type='text' name='txt[]' value='<?php echo $i * $rand; ?>' /> 
                    <input type='button' value='<?php echo $i; ?>' />
                </fieldset>
        <?php
            }
        ?>
        </form>
        <script>
            Array.prototype.slice.call( document.querySelectorAll( 'form > fieldset > input[type="button"]' ) ).forEach( function( bttn ){
                bttn.addEventListener('click', function(event){
                    alert( this.value  +' '+this.previousElementSibling.value + ' ' +this.previousElementSibling.tagName )
                }, false );
            })
        </script>
    </body>
</html>
0 голосов
/ 02 февраля 2019

передать значения в функцию

  <script>
function tikla(val)
{
    //var d2=document.getElementById('buton').value;
    alert(val);
}
</script>
<?php 

    for($i=1;$i<5;$i++)
    {?>
        <form>
        <?php echo $i; ?>
            <input type="text" name="txt" value="<?php echo $i; ?>" disabled="disabled" /> 
            <input type="button" id="buton" value="<?php echo $i; ?>"  onclick="tikla(<?php echo $i; ?>)" />
         </form>
    <?php }?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...