投票などを送信するための Web アプリケーションを作成しています。<div class = "desiredClass">
aが存在する場合、リクエストを介してデータベースから投票が取得さajax
れ、html に入れられ、ユーザーが投票に投票できるウィジェット コードをいくつか開発しました。
私のwidget.jsファイルの場合、スクリプトとしてhtmlに埋め込まれます:
$(document).ready(function () {
if ($('.loadPoll')[0]) {
var name = $('.loadPoll').data("pollname");
var IP_Address = '-1';
$.ajax({
url: 'http://url.com:3000/loadPoll',
dataType: 'jsonp',
data: {
pollName: name
},
success: function (data) {
poll = data.poll;
$(".loadPoll").html(data.html);
$(document).on('click', '#SubmitVote', function () {
var selectedValue;
var radios = document.getElementsByTagName('input');
for (var i = 0; i < radios.length; i++) {
if (radios[i].type === 'radio' && radios[i].checked) {
selectedValue = radios[i].value;
}
}
console.log(selectedValue);
$.getJSON("http://jsonip.appspot.com?callback=?", function (data) {
var IP_Address = data.ip;
$.ajax({
url: 'http://url.com:3000/submitVote',
dataType: 'jsonp',
data: {
pollName: poll.pollName,
voterID: IP_Address,
vote: selectedValue
},
success: callback("Vote successful")
});
});
});
}
});
})
これは基本的にサーバーにリクエストを送ってhtmlを返し、#SubmitVote
クリックするとラジオボタンの値が投票としてサーバーに送られます。
「JavaScript イベント コールバックを許可」できるようにしたい。擬似コードの例:
Poll.onSubmit(function() {
console.log('hello world');
});
どうすればこれを行うことができますか?