【问题标题】:dynamic form fields with javascript an php: It doesn't work带有 javascript 和 php 的动态表单字段:它不起作用
【发布时间】:2015-12-16 10:54:37
【问题描述】:

我有一个动态添加表单字段的小型 javascript。

我没有任何 php 代码的 javascript sn-p 工作正常。

<script type="text/javascript">
var counter = 0;
$(function(){
 $('p#add_field').click(function(){
 counter += 1;
 $('#container').append(
 '<strong>Artikel ' + counter + '</strong><br />'
 + '<input id="field_' + counter + '" name="dynfields[]' + '" type="text" class="login-username" /><br />'
 + '<input id="field2_' + counter + '" name="dynfields2[]' + '" type="text" class="login-username" /><br />' );
 });
});
</script>

但在这个脚本中,我需要一个从数据库中读取条目以获取选择选项字段(下拉列表)的数组。

我是这样做的:

<script type="text/javascript">
var counter = 0;
$(function(){
 $('p#add_field').click(function(){
 counter += 1;
 $('#container').append(
 '<strong>Artikel ' + counter + '</strong><br />'
 + '<input id="field1_' + counter + '" name="dynfields[]' + '" type="text" class="login-username" /><br />'
 + '<input id="field2_' + counter + '" name="dynfields2[]' + '" type="text" class="login-username" /><br />'
 + '<select name="dynfields3[]' + '">

    <?php
        $abfrage = "SELECT * FROM artikel";
        mysql_query("SET NAMES SET 'utf8'");
        $ergebnis = mysql_query($abfrage);
        while($row = mysql_fetch_object($ergebnis))
        {
         $id = $row->id;
         $name = $row->name;
         $beschreibung = $row->beschreibung;
         $preis = $row->preis;
         echo " <option value='$row->id'>$row->name;</option>  ";
        }
    ?>
        </select><br />'

     );

     });
    });
    </script>

它不起作用。我收到以下错误 Uncaught SyntaxError: Unexpected token ILLEGAL

怎么了?我很高兴得到任何帮助。

问候, 斯蒂芬

【问题讨论】:

  • 你不必要地放了太多` ' +`

标签: javascript php mysql forms row


【解决方案1】:

你可以试试这个:

<script type="text/javascript">
var counter = 0;
$(function(){
 $('p#add_field').click(function(){
 counter += 1;
 $('#container').append(
 '<strong>Artikel ' + counter + '</strong><br />'
 + '<input id="field1_' + counter + '" name="dynfields[]' + '" type="text" class="login-username" /><br />'
 + '<input id="field2_' + counter + '" name="dynfields2[]' + '" type="text" class="login-username" /><br />'
 + '<select name="dynfields3[]">' +

 + '<?php $abfrage = "SELECT * FROM artikel"; mysql_query("SET NAMES SET 'utf8'"); $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)){?>'
+ '<option value="' + '<?php echo $row->id ?>' + '">' + '<?php echo $row->name ?>' + '</option>'
+ '<?php }?></select></br>'

     );

     });
    });
    </script>

【讨论】:

    【解决方案2】:

    我认为错误就在这里

     + '<select name="dynfields3[]' + '">
    

    也许你打算

     + '<select name="dynfields3[]" >' + 
    
    
    
    <?php
        $abfrage = "SELECT * FROM artikel";
        mysql_query("SET NAMES SET 'utf8'");
        $ergebnis = mysql_query($abfrage);
        while($row = mysql_fetch_object($ergebnis))
        {
         $id = $row->id;
         $name = $row->name;
         $beschreibung = $row->beschreibung;
         $preis = $row->preis;
         echo " <option value='$row->id'>$row->name;</option>  ";
        }
    ?> 
    
    + '</select><br />';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-04
      • 2010-10-30
      • 1970-01-01
      相关资源
      最近更新 更多