2016-06-14 7 views
-3

私はjqueryのにパスデータをしようとしているonclickキャッチされないでSyntaxError:予期しないトークン} jQueryのにパスデータをしようとして変数

経由jqueryの機能があります:

function handleit(cId, anotherId) { 
    var campaingID = cId; 
    var another = anotherId; 
    var post = "action=remove&campaign_id=" + campaingID + "&anotherid=" + another; 
    $.ajax({ 
    type: "post", 
    url: "ajax/phphandler.php", 
    data: post, 
    cache: false, 
    success: function(html) { 
     $('#ready').html(html); 

    } 
    }); 
    return false; 
} 

onclickコード

があります
<td><input class="btn btn-default" type="submit" data='.$row2['campaign_id'].' value="submit" onclick="return handleit("'.$row2['campaign_id'].'","test")"></td> 

レンダリングhtml

<td><input class="btn btn-default" type="submit" data=43 value="submit" onclick="return handleit(" 43","test")"></td> 
+1

をHTMLは次のように見てする必要がありますでしょうか? 'ajax/phphandler.php'は何を返しますか? –

+0

これは、とにかくデバッガの使用に関する質問ですので、それは話題にはなりません。 – nicael

+4

実際のレンダリングされたHTMLは、どんなサーバー側のものでもなく、ポストしてください。これは、ボタンのdoesntのは、POSTを送信したり、何種類=「送信」データのhtml​​<入力クラス=「BTN BTN-デフォルト」がレンダリングされる@squint jqueryの –

答えて

0

問題は、あなたのHTMLは次のように探して巻き取ることです:

<input class="btn btn-default" type="submit" data=foo value="submit" 
    onclick="return handleit("campaign_id","test")"> 
          ^  ^^ ^

属性を定義するとき、あなたは"内部の巣"することはできません。

あなたはそれはあなたが使用しているものは何でも、サーバー側の言語に依存しますが、おそらく引用符エスケープ含ま達成方法
<input class="btn btn-default" type="submit" data=foo value="submit" 
    onclick="return handleit('campaign_id','test')"> 
          ^  ^^ ^

:そのエラーがスローされ

<td> 
    <input class="btn btn-default" type="submit" 
    data="'.$row2['campaign_id'].'" value="submit" 
    onclick="return handleit(\''.$row2['campaign_id'].'\',\'test\')" 
</td> 
+1

良いキャッチ。しかし、構文エラーを説明しません。 –

+1

@FelixKling実際には、これは行います。これは、JSエンジンがリスナーオブジェクトを作成して評価する方法によってスローされるエラーです。 – mgiuffrida

+1

右ああ、それは '{(リターンhandleitを}()関数'のようなものを作成します。私は、この動作は仕様で定義されている場合、インラインのイベントハンドラが.... –

関連する問題