2015-09-19 30 views
1

我有一個小的JavaScript,動態地添加表單字段。動態表單字段與JavaScript一個PHP的:它不工作

我的JavaScript代碼沒有任何PHP代碼工作正常。

<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> 

它不工作。我收到以下錯誤 未捕獲的SyntaxError:意外的令牌非法文件

有什麼問題? Iam非常高興有任何幫助。

問候, 斯特凡

+0

你把太很多'' +'不必要地 –

回答

2

你可以試試這個:

<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> 
+0

非常棒@raveenanigam非常感謝。這工作正常 – fcb1900

0

我認爲錯誤是在這裏

+ '<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 />';