2017-02-28 28 views
0

我正在嘗試在腳本標記中編寫php代碼,但有些東西似乎出錯了。 下面是完整的代碼:如何在腳本標籤中寫入php代碼?

<!DOCTYPE html> 
<?php 
if(isset($_GET['column-count'])) 
$var = $_GET['column-count']; 
?> 

<html> 
    <head> 
     <title>Index</title> 
     <script> 

      function send_column_count(){ 
      var col_count = document.getElementById('num-cols').value; 
      alert(col_count); 
      document.getElementById('column-count-id').value = col_count ; 
      var temp = document.getElementById('column-count- id').value; 
      alert(temp); 

      <?php 
       for($i = 0;$i < $var ;$i = $i+1){ 
       $temp = "col".$i; 
      echo " <input type='text' placeholder='column- name' id='" . $temp . "' />"; 
       } 
      ?> 
      alert('Reached here'); 

      return true; 
     } 

</script> 

    </head> 
    <body> 
     <form align="center" method="GET" action="" > 
      <h1>Snippt</h1> 
      <select id="num-cols" onchange="send_column_count()"> 
       <option>1</option> 
       <option>2</option> 
       <option>3</option> 
       <option>4</option> 
       <option>5</option> 
      </select> 

      <input type="hidden" name="column-count" id="column-count-id" value="7" /> 
      <input type="submit" name="Submit" value="Create Table" /> 

     </form> 
    </body> 
</html> 

現在控制檯顯示錯誤消息:意外的令牌< 我無法理解什麼錯!

+2

爲什麼你在腳本標籤中寫HTML嗎? – mehulmpt

+0

將腳本標記外的<?php'塊移動到腳本標記 – mehulmpt

+0

這是錯誤的...... Mehul告訴ya,javascript內部的HTML代碼。 – Roy

回答

0

你原來的邏輯完全有缺陷。你甚至不需要PHP來動態添加字段。但無論如何,我張貼了您的應用程序的正確版本哪種類型的工作,你想讓它(與PHP)相同的方式工作:

<!DOCTYPE html> 
<?php 
$var = 0; 
if(isset($_GET['column-count'])) 
$var = $_GET['column-count']; 
?> 

<html> 
<head> 
<title>Index</title> 
<script> 

     function send_column_count(){ 
      var col_count = document.getElementById('num-cols').value; 
      alert(col_count); 
      document.location.href = location.href.split('?')[0]+"?column-count="+col_count; 
     } 

</script> 

</head> 
<body> 
<?php 
       for($i = 0;$i < $var ;$i = $i+1){ 
        $temp = "col" . $i; 
        echo " <input type='text' placeholder='column- name' id='" . $temp . "' />"; 
       } 
      ?> 
<form align="center" method="GET" action="" > 
    <h1>Snippt</h1>  
    <select id="num-cols" onchange="send_column_count()"> 
     <option>1</option> 
     <option>2</option> 
     <option>3</option> 
     <option>4</option> 
     <option>5</option> 
    </select> 

    <input type="hidden" name="column-count" id="column-count-id" value="7" />  
    <input type="submit" name="Submit" value="Create Table" /> 

</form> 
</body> 
</html> 

編輯:JS方式:

function send_col_count() { 
var col_count = document.getElementById('num-cols').value; 
var htmlConstructed = ""; 
for(i=0;i<col_count;i++) { 
htmlConstructed += "<input type='text' id='col"+i+"' />"; 
} 
document.getElementById('myCustomFields').innerHTML = htmlConstructed; 
} 

// and somewhere in body: 

<div id="myCustomFields"></div> 
+0

我完全同意使用JavaScript將使它更容易,但我這樣做的唯一原因是,我需要發送用戶插入到textfields的值,到一個php文件,進一步在mysql中創建表.... 所以,如果我這樣做的JavaScript的方式......它會變得有點複雜,因爲我會被迫在這種情況下使用AJAX發送數據到PHP文件.. –

+0

你可以看到PHP/JS版本。 – mehulmpt

相關問題