2017-02-22 13 views
1

私のonClick機能がトリガされていない、と私はコンソールから手動でトリガしたときに、私はのエラーを取得:キャッチされないでSyntaxError:予期しない番号をonClick()が発生していない+予期しない番号?

<div style="width:50%;float:left;padding:5px;" class="btn btn-default"> 
<center><b><i class="fa fa-thumbs-o-up" aria-hidden="true" onClick="like_post(<?php echo $PinnedObj->ID;?>,<?php echo $client->ID;?>)""></i> 

JS機能:

script type="text/javascript" > 
function like_post(PID, UID){ 
    $.ajax({ 
    url: "like.php", 
    type: "POST", 
    data: {'PID': PID, 'UID': UID, 'liked': '1'},     
    }); 

    document.getElementById("like_button"+PID).value = parseInt(document.getElementById("like_button"+PID).value,10) + 1; 

} 

</script> 
+0

あなたは、PHPのコールの後にレンダリングされているのHTMLを投稿することができますか? – motanelu

+0

PHPコールの後にHTMLはレンダリングされません.FTPスクリプトはDB値を更新するだけです。 – Mazux2

+0

投稿されたJSスニペットに構文エラーはありませんか? – Teemu

答えて

0

あなた問題は、それがない要素の「値」を使用したことです。 "値"は要素にのみ表示されます。要素を更新するには、要素の「テキスト」を使用する必要があります。

第2の問題は、あなたの要素の空のテキストを1で加算することです。あなたのケースでは未定義のparseIntは "1"の和でNaNの結果に "NaN"を与えます。

function like_post(pid, uid) { 
    var $btn = $('#like_button'+pid); 
    $.post("like.php", {"PID": pid, "UID": uid, "liked": "1"}, function(r) { 
     $btn.text(parseInt($(btn).text()||0)+1); 
    }); 
} 

更新されました。 「like.phpは、」あなたはAjaxでjqueryのを使用している同類

function like_post(pid, uid) { 
    var $btn = $('#like_button'+pid); 
    $.post("like.php", {"PID": pid, "UID": uid, "liked": "1"}, function(r) { 
     $btn.text(r); 
    }); 
} 
+0

ちょっと変わったばかりです –

+0

数字のエラーと同じ問題、入力がクリックされても何も起こりません – Mazux2

+0

完全なHTMLコードを入力してください。 –

0

の数を返します場合は、このような追加のカウンタ機能のためのjQueryを拡張することができますので、しかし、きれいに、だろう。

jQuery.fn.extend({ 
    add: function() { 
    return this.each(function() { 
     var element = $(this); 
     if (element .is("input")) { 
      element.val(parseInt((element.val() || 0)) + 1) 
     } 

     if (element .is("button")) { 
     element .text(parseInt((element.text() || 0)) + 1) 
     } 

    }); 
    } 
}); 

とあなただけの

var $btn = $('#like_button'+pid); 
$btn.add(); 
として使用することができますチェック: https://plnkr.co/edit/gist:1986619?p=preview

関連する問題