溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

js 獲取表格數(shù)據(jù)(表單變量值)

發(fā)布時間:2020-08-13 11:58:31 來源:網(wǎng)絡(luò) 閱讀:1884 作者:qianqian_520 欄目:web開發(fā)

js獲取表單中的指定動態(tài)變量



問題描述:for循環(huán)實現(xiàn)表格每行數(shù)據(jù)輸入,對應(yīng)每行有提交表單需要做相應(yīng)處理,我們需要獲得該行某列的變量值


要求:表格每一行有一個提交按鈕實現(xiàn)前臺判斷操作(判斷表格每行第二列的值namefile是否等于動態(tài)設(shè)置的值)


實現(xiàn):通過在提交表單onsubmit="javascript:return checkName()"調(diào)用函數(shù)checkName()檢測,返回false表單不提交,不返回或者返回true提交表單


程序框架如下:

<head>

    <script type="text/javascript">

        function checkName(){



        }

    </script>

</head>


<body> 

......

<%for(var i = 0, i < 10, ++i)%>

    <tr>

        <td>

            ....

        </td>

        <td>

        <form action="file.action" enctype="multipart/form-data" method="post"

onsubmit="javascript:return checkName()">

<input type="hidden" name="subfilename" id="subfilename" value="<%=namefile%>"/>


        <input type="submit" name="btn" value="點擊" />

        </form>

        </td>

        <td>

            ....

        </td>

          .

          .

          .

    </tr>

</body> 



js實現(xiàn)方法:

一、采用getElementById() ,該方法難以實現(xiàn)

原因:getElementById()返回?fù)碛兄付╥d的第一個對象的引用,因為我們實現(xiàn)的是for循環(huán)多行數(shù)據(jù)采用同一個變量,該函數(shù)只會得到第一行的對象


getElementById()在js中使用:

var name = getElementById("filename").value; //name為得到的對應(yīng)id的屬性值,filename為id名稱


二、采用getElementsByName()該方法難以實現(xiàn)

原因:getElementsByName()返回指定名稱對象的集合,為對象數(shù)組結(jié)構(gòu),對應(yīng)每一行的提交按鈕無法確定是第幾行,也無法檢測是第幾個提交按鈕

檢測方法比較復(fù)雜


三、采用函數(shù)傳值

有的時候不能采用固定思維,只想到利用HTML DOM 方法,利用函數(shù)傳值很簡單,每行的參數(shù)變量是變化的,每行傳的形參自然是正確的


代碼如下:

<head>

    <script type="text/javascript">

        function checkName(subfilename){

            if(subfilename == "  ") //引號里自己控制,若動態(tài)也可以用此函數(shù)傳形參過來

            {

                return true;//可以省略

            }

            else{

                alert("請重新選擇");

                return false;

            }

        }

    </script>

</head>


<body> 

......

<%for(var i = 0, i < 10, ++i)%>

    <tr>

        <td>

            ....

        </td>

        <td>

        <form action="file.action" enctype="multipart/form-data" method="post"

onsubmit="javascript:return checkName(subfilename.value)">

<input type="hidden" name="subfilename" id="subfilename" value="<%=namefile%>"/>

......

        <input type="submit" name="btn" value="點擊" />

        </form>

        </td>

        <td>

            ....

        </td>

          .

          .

          .

    </tr>

</body> 


測試,此方法簡單有效。












向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI