atomic 3 Report post Posted January 1, 2015 Salam tahun baru untuk semua.. saya nak bertanya logik pasal loop javascript nih, dah pening pikir... boleh test script kat sinih : http://www.w3schools.com/js/tryit.asp?filename=tryjs_alert saya sertakan contoh : HTML: <!DOCTYPE html> <html> <body> <form id="myform" name="myform"> <table> <tr> <td valign="top"> 1.<input type="textbox" name="txtnama" value="Abu"> </td> <td> <input type="radio" name="rbostatus1" value="Hadir">Hadir <input type="radio" name="rbostatus1" value="Tidak Hadir">Tidak Hadir </td> </tr> <tr> <td valign="top"> 2.<input type="textbox" name="txtnama" value="Ali"> </td> <td> <input type="radio" name="rbostatus2" value="Hadir">Hadir <input type="radio" name="rbostatus2" value="Tidak Hadir">Tidak Hadir </td> </tr> <tr> <td valign="top"> 3.<input type="textbox" name="txtnama" value="Amin"> </td> <td> <input type="radio" name="rbostatus3" value="Hadir">Hadir <input type="radio" name="rbostatus3" value="Tidak Hadir">Tidak Hadir </td> </tr> </table> </form> <button type="button" onclick="getRadioValue()">test</button> </body> </html> SCRIPT : <script> function getRadioValue() { var abc = ''; var MyElements = document.myform.elements; for (var x = 0; x < MyElements.length; x++) { if (MyElements[x].name === "txtnama") { abc +="\r\n" + "<nama>" + MyElements[x].value + "</nama>"; } if (MyElements[x].type === "radio") { if (MyElements[x].checked) { abc +="\r\n" + "<kehadiran>" + MyElements[x].value + "</kehadiran>"; } else { abc += "\r\n" + "<kehadiran></kehadiran>"; } } } alert(abc); } </script> Result sekarang : <nama>Abu</nama> <kehadiran>Hadir</kehadiran> <kehadiran></kehadiran> <nama>Ali</nama> <kehadiran></kehadiran> <kehadiran>Tidak Hadir</kehadiran> <nama>Amin</nama> <kehadiran>Hadir</kehadiran> <kehadiran></kehadiran> Result sepatutnya : <nama>Abu</nama> <kehadiran>Hadir</kehadiran> <nama>Ali</nama> <kehadiran>Tidak Hadir</kehadiran> <nama>Amin</nama> <kehadiran>Hadir</kehadiran> atau <nama>Abu</nama> <kehadiran>Hadir</kehadiran> <nama>Ali</nama> <kehadiran>Tidak Hadir</kehadiran> <nama>Amin</nama> <kehadiran></kehadiran> * kosong sebab tak tick saya harap ada yang sudi bantu.. terima kasih. Quote Share this post Link to post Share on other sites
atomic 3 Report post Posted January 2, 2015 tak ada yang sudi tolong ka? huhuhuhu.. sifu2..dah mati kutu dah nih... ni yg terbaru sy cuba,tapi masih lagi gagal.. <script> function getRadioValue() { var strA = ''; var strB = ''; var myElements = document.myform.elements; for (var x = 0; x < myElements.length; x++) { if (myElements[x].name=== "name") { if (strA === '') { strA = myElements[x].value; } else { strA += "$" + myElements[x].value; } } if (myElements[x].type === "radio") { if (myElements[x].checked) { if (strB === '') { strB = "$" + myElements[x].value; } else { strB += "$" + myElements[x].value; } } } } var test = ''; var strFirst = strA.split('$'); var strSecond = strB.split('$'); alert(strB); alert(strSecond[0]); alert(strSecond[1]); //alert(strSecond[2]); for (var i = 0; i < strFirst.length; i++) { //alert(strSecond[i]); if ((strSecond[i]=== '') || (typeof strSecond[i] === 'undefined')) { //alert(strSecond[i]); //alert('masuk1'); test += "\r<nama>" + strFirst[i] + "</nama><kehadiran></kehadiran>"; } else { //alert(strSecond[i]); //alert('masuk2'); test += "\r<nama>" + strFirst[i] + "</nama></kehadiran>" + strSecond[i] + "</kehadiran>"; } } alert(test); } </script> Quote Share this post Link to post Share on other sites
atomic 3 Report post Posted January 13, 2015 Alhamdulillah..akhirnya selesai... ni code dia : <script> function getRadioValue() { var e = document.myform.elements; var t = ""; var n = ""; var r = 0; var i = ""; for (var s = 0; s < e.length; s++) { if (e[s].type !== "radio") { t += "\r\n" + "<Nama>" + e[s].value + "</Nama>" } else { r = n != e[s].name ? 1 : 2; if (e[s].checked) { i = "\r\n" + "<Kehadiran>" + e[s].value + "</Kehadiran>" } else { if (r == 1) i = "\r\n" + "<Kehadiran></Kehadiran>" } if (r == 2) { t += i; i = "" } n = e[s].name } } alert(t) } </script> *atas bantuan abg Abu :3: Quote Share this post Link to post Share on other sites