2016-05-05 4 views
0

PHPとJavascriptを使用して関数内で英数字の値を渡しているときにエラーが発生します。PHPとJavaScriptを使用して英数字の値を関数内でパラメータとして渡すとき

エラー:

category.php:235 Uncaught SyntaxError: missing) after argument list 

私は以下の私のコードを説明しています。ここで

<?php 
    foreach ($listdata as $v) { 
     $id = '15rf67'; 
     $edit = 1; 
     $del = 0; 
     echo "<tr> 
      <td>" . $counter++ . "</td> 
      <td>" . $v['cat_title'] . "</td> 
      <td> 
       <select class='form-control' id='status1' name='status1' style='height:23px; padding:0px;'> 
        <option value=''>Select Status</option> 
        <option value='1' " . ($v['status'] == '1' ? 'selected' : '') . ">Enable</option> 
        <option value='0' " . ($v['status'] == '0' ? 'selected' : '') . ">Disable</option> 
       </select> 
      </td> 
      <td> 
       <img src='uploads/" . $v['image'] . "' name='pro' border='0' style='width:50px; height:50px; border:#808080 1px solid;' /> 
      </td> 
      <td> 
       " . $v['cat_description'] . " 
      </td> 
      <td> 
       <button type='button' class='btn btn-xs btn-green outlinedivnone' data-placement='top' title='' data-original-title='Edit' onClick='javascript:changeOfActionMenu($id,$edit)'><i class='fa fa-pencil'></i> </button> 
       <button type='button' class='btn btn-xs btn-danger outlinedivnone' data-placement='top' title='' data-original-title='Delete' onClick='javascript:changeOfActionMenu($id,$del)'><i class='fa fa-times'></i> </button> 
      </td> 
     </tr>"; 
    } 
?> 

私はこのエラーが来ていませんが、私は私を助けしなさい15rf67のような英数字の値を渡す必要が1,2..のように$のid値を設定しています。この<button type='button' class='btn btn-xs btn-green outlinedivnone' data-placement='top' title='' data-original-title='Edit' onClick='javascript:changeOfActionMenu($id,$edit)'><i class='fa fa-pencil'></i> </button> line.whenでエラーを取得しています。あなたの$id variabileが文字列である場合は、$ IDの周りの引用を配置する必要があり

+1

あなたが掲示したコードのどこに行235がありますか? – dimlucas

+0

エラーが発生しているコード行については既に説明しました。これを確認してください。 – subhra

答えて

3

は、その

<button type='button' class='btn btn-xs btn-green outlinedivnone' data-placement='top' title='' data-original-title='Edit' onClick='javascript:changeOfActionMenu(\"".$id."\",$edit)'><i class='fa fa-pencil'></i> </button> 

<button type='button' class='btn btn-xs btn-danger outlinedivnone' data-placement='top' title='' data-original-title='Delete' onClick='javascript:changeOfActionMenu(\"".$id."\",$del)'><i class='fa fa-times'></i> </button> 
+0

あなたは2番目のPHP変数 – Pietro

+0

を見逃しました。$ idにOPにエラーがありましたので、私はただそれをラップしました。 –

+0

私はあなたのようにしましたが、同じ行の別のエラーを返しました.error-'category.php:236 Uncaught SyntaxError:予期しないトークン} '。 – subhra

0
<button type='button' class='btn btn-xs btn-green outlinedivnone' data-placement='top' title='' data-original-title='Edit' onClick='javascript:changeOfActionMenu($id,$edit)'><i class='fa fa-pencil'></i> </button> 
<button type='button' class='btn btn-xs btn-danger outlinedivnone' data-placement='top' title='' data-original-title='Delete' onClick='javascript:changeOfActionMenu($id,$del)'><i class='fa fa-times'></i> </button> 

のようなものが

<button type='button' class='btn btn-xs btn-green outlinedivnone' data-placement='top' title='' data-original-title='Edit' onClick='javascript:changeOfActionMenu(\"$id\",$edit)'><i class='fa fa-pencil'></i> </button> 
<button type='button' class='btn btn-xs btn-danger outlinedivnone' data-placement='top' title='' data-original-title='Delete' onClick='javascript:changeOfActionMenu(\"$id\",$del)'><i class='fa fa-times'></i> </button> 
+0

どうしたらうまくいくのですか? $ idを引用符で囲む必要があります。 OPの質問の二重引用符からのエコーの開始 –

+0

@ピエトロ:あなたの行は、同じ行に構文エラーを投げています。 – subhra

+0

興味のある2行だけを編集しましたが、OP – Pietro

0

する必要があり、あなたはとしてそれを処理する必要がJavascriptの文字列も。

onClick='javascript:changeOfActionMenu(\"$id\",$edit)' 
1

私はあなたがボタンの機能のためのパラメータの引用符を見逃したと思います。アルファ値または英数字の値を引用することは重要です。私は正しい引用符であなたのコードを書いています。

<?php 
    foreach ($listdata as $v) { 
     $id = '15rf67'; 
     $edit = 1; 
     $del = 0; 
     echo "<tr> 
      <td>" . $counter++ . "</td> 
      <td>" . $v['cat_title'] . "</td> 
      <td> 
       <select class='form-control' id='status1' name='status1' style='height:23px; padding:0px;'> 
        <option value=''>Select Status</option> 
        <option value='1' " . ($v['status'] == '1' ? 'selected' : '') . ">Enable</option> 
        <option value='0' " . ($v['status'] == '0' ? 'selected' : '') . ">Disable</option> 
       </select> 
      </td> 
      <td> 
       <img src='uploads/" . $v['image'] . "' name='pro' border='0' style='width:50px; height:50px; border:#808080 1px solid;' /> 
      </td> 
      <td> 
       " . $v['cat_description'] . " 
      </td> 
      <td> 
       <button type='button' class='btn btn-xs btn-green outlinedivnone' data-placement='top' title='' data-original-title='Edit' onClick='javascript:changeOfActionMenu(\"$id\",$edit)'><i class='fa fa-pencil'></i> </button> 
       <button type='button' class='btn btn-xs btn-danger outlinedivnone' data-placement='top' title='' data-original-title='Delete' onClick='javascript:changeOfActionMenu(\"$id\",$del)'><i class='fa fa-times'></i> </button> 
      </td> 
     </tr>"; 
    } 
0

親切にあなただけの引用符が必要なことを知らせるすべての答えを無視する - すべての後に、1日あなたはIDがアポストロフィを含めるべきかを決める場合は?すべてが壊れます!

代わりに、ここでは別の方法です:

<button type='button' class='btn btn-xs btn-danger outlinedivnone' 
    data-placement='top' title='' data-original-title='Delete' 
    data-id='".htmlspecialchars($id)."' 
    data-action='".htmlspecialchars($del)."' 
    onclick='changeOfActionMenu(this)' 
><i class='fa fa-times'></i> </button> 

あなたchangeOfActionMenu機能は、このように調整することができます。

function changeOfActionMenu(btn) { 
    var id = btn.getAttribute("data-id"), 
     action = btn.getAttribute("data-action"); 
    // do stuff 
} 

これは、より柔軟であり、他のものの間で、あなたが委任できるようになりますが、あなたのイベントハンドラとインラインハンドラの使用を中止する - 両方の作業をする必要があります)

0

onClick='javascript:changeOfActionMenu($id,$edit)'は、$ idが英数字(文字列)であるため、onClick='javascript:changeOfActionMenu(\"$id\",$edit)' である必要があります。javacript関数の文字列paramには、""を追加する必要があります。

+0

これは答えを提供しますが、将来の参考のために@wakasannを参考にして、小さな部分だけが変更されたとき。 – Chris

関連する問題