带有 javascript 和 php 的动态表单字段:它不起作用
Posted
技术标签:
【中文标题】带有 javascript 和 php 的动态表单字段:它不起作用【英文标题】:dynamic form fields with javascript an php: It doesn't work 【发布时间】: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
怎么了?我很高兴得到任何帮助。
问候, 斯蒂芬
【问题讨论】:
你不必要地放了太多` ' +` 【参考方案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 />';
【讨论】:
以上是关于带有 javascript 和 php 的动态表单字段:它不起作用的主要内容,如果未能解决你的问题,请参考以下文章
使用 PHP 和 JavaScript 动态搜索 SQL 表并在 HTML 上显示
PHP-在表格的每一行中动态插入带有javascript的innerhtml