function pk_vote(pid) { var _code = document.getElementById('passcode'); if ( _code ) { if ( _code.value.length != 4 ) { alert("請輸入認證碼"); return; } } else { return; } /* 取得投票的結果 */ var opts = document.getElementsByName('opt' + pid); if ( opts.length <= 0 ) { return; } else { var t_id = 0; for ( var i = 0 ; i < opts.length ; i++ ) { if ( opts[i].checked ) { t_id = opts[i].value; } } } if ( t_id <= 0 ) { alert('請選擇一個選項'); } var xmlHttp = create_xmlHttpRequest(); if ( xmlHttp && _code && t_id ) { var dt = new Date(); xmlHttp.onreadystatechange = function() { handle_pk_vote(xmlHttp); }; xmlHttp.open('GET', "/ajax/polling/vote.php?pcode=" + _code.value + "&t_id=" + t_id + "&rd=" + dt.getTime(), true); xmlHttp.send(null); } } function handle_pk_vote(xmlHttp) { if ( xmlHttp.readyState == 4 ) { if ( xmlHttp.status == 200 ) { if ( xmlHttp.responseText == '1' ) { alert('投票成功!'); /* 更新投票結果 */ /* clearInterval(refresh_flag); */ refresh_result(); /* refresh_flag = setInterval('refresh_result()', 5000); */ } else if ( xmlHttp.responseText == '2' ) { alert('認證碼錯誤哦!'); } else { alert(xmlHttp.responseText); } /* 更新認證碼 */ var dt = new Date(); document.getElementById('img_passcode').src = "/polling/showpic.php?rd=" + dt.getTime(); document.getElementById('passcode').value = ''; } else { alert(xmlHttp.statusText); } } } function handle_refresh_result(xmlHttp) { if ( xmlHttp.readyState == 4 ) { if ( xmlHttp.status == 200 ) { if ( xmlHttp.responseXML ) { var items = xmlHttp.responseXML.getElementsByTagName('item'); if ( items.length > 0 ) { for ( var i = 0 ; i < items.length ; i++ ) { var _item = items[i]; var _div = document.getElementById('res_' + _item.getAttribute('id')); if ( _div ) { _div.style.width = _item.getAttribute('width') + 'px'; } var _span = document.getElementById('count_' + _item.getAttribute('id')); if ( _span ) { _span.innerHTML = _item.getAttribute('count'); } else { _div.innerHTML = _item.getAttribute('count'); } /* var _div = document.getElementById('remain_' + _item.getAttribute('id')); if ( _div ) { var _width = parseInt(_item.getAttribute('width')); _width = (400 - _width - 10); _div.style.width = _width + 'px'; } */ } } } else { alert(xmlHttp.responseText); } } else { alert(xmlHttp.statusText); } } }