javascript
  • php
  • html
  • 2015-03-16 2 views 0 likes 
    0

    я должен добавить ввод текста динамически на моей странице следующим образом:значение приобретают от динамического добавленного ввода текста

    $table=""; $n=0; 
    $arrayform=array(); 
    foreach($rslt as $rows){     
          $table=$table." 
           <div class='img-rounded row' style='margin-bottom:2%' > 
            <div class='col-lg-1'></div> 
            <div class='col-lg-4'> 
             <input id='cap-".$n."' type='text' class='form-control' value='".$rows['caption']."'> 
            </div> 
            <div class='col-lg-1' id='rightarrow'> 
             <img id='img-".$n."' src='img/right-arrow.png' width='45' height='30' alt=''/> 
            </div> 
            <div class='col-lg-4'> 
             <input id='val-".$n."' type='text' class='form-control' value='".$rows['value']."'> 
            </div> 
            <div class='col-lg-1'> 
             <input type='button' id='btn-".$n."' onClick='removeval(\"".$rows['caption']."\",\"".$rows['value']."\",\"".$_GET['id']."\",\"".$rows['id']."\")' class='btn btn-danger' value='Remove Column'> 
            </div> 
           </div> 
           <div id='divrslt-".$n."' class='row text-success' style='margin-left:10%; margin-bottom:2%'> 
           </div>    
          "; 
    

    идентификатор элемента формы определим по $ п переменных и других строк.

    Я написал следующий код для создания списка параметров входных текстовых значений для отправки функции javascript.

     $arrayform[$rows['caption']]="cap-".$n.".value,val-".$n.".value, ";   $n++; 
    } 
    

    И следующий код я использовать массив, построенный в предшествующем уровне линии в качестве параметра updatechartval() Javascript функции.

    $table=$table." 
        <div class='row' style='margin-left:4%'> 
         <button type='button' class='btn btn-success' onClick='updatechartval(".implode(" ",$arrayform)."\"".$_GET['id']."\")' value='update'> 
          Update 
         </button> 
    
        </div> 
    "; 
    

    И тогда я эхо, что:

    echo $table; 
    

    тонированное кнопка код:

    <button type="button" class="btn btn-success" onclick="updatechartval(cap-0.value,val-0.value, cap-1.value,val-1.value, cap-2.value,val-2.value, cap-3.value,val-3.value, &quot;126&quot;)" value="update"> 
          Update 
    

    , но когда я запускаю код, идентификатор элемента был отправлен вместо значения текстового ввода. как я могу это решить? благодаря ...

    +0

    BTW, читать о OnClick http://stackoverflow.com/questions/4380719/onclick-or-onclick –

    ответ

    0

    Вы страдаете от яваскрипта эквивалента инъекции SQL атаки:

    [..snip..] onclick="updatechartval(cap-0.value,val-0.value,[..snip..] 
                ^^^^^^^^^^^ 
    

    Вы должны привести свои параметры в вызове функции, потому что сейчас этот код интерпретируется/исполненный как:

    updateCharval(unknown/undefined variable "cap" minus 0.value, ...

    целое число не имеет .value атрибут, и так как вы пытаетесь вычесть то неопределенное значение атрибута из неопределенного variabl e, вы получите целую спину, наполненную вашим лицом.

    Ваша функция генератора должна выглядеть как:

    $arrayform[$rows['caption']]="'cap-".$n.".value','val-".$n.".value' etc... 
               ^----------------^ ^----------------^ 
    

    Обратите внимание на дополнительные кавычки.

    +0

    ок. это верно. благодаря.. –

    0

    Вам необходимо получить значение ввода функции updatechartval(param1, param2). Прямо сейчас вы пытаетесь запустить javascript за пределами тега javascript.

    Таким образом, вы бы в конечном итоге с чем-то вроде этого:

    function updatechartval(a,b) { 
        valueA = document.getElementById(a).value; 
        valueB = document.getElementById(b).value; 
    } 
    
    Смежные вопросы