Jump to content
Sign in to follow this  
atomic

Javascript - Loop

Recommended Posts

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.

Share this post


Link to post
Share on other sites

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>

Share this post


Link to post
Share on other sites

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:

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...