javascript
html实现动态多表单输入,使用javascript动态编辑多个相同的HTML表单
我正在構(gòu)建一個(gè)小的網(wǎng)頁(yè),該網(wǎng)頁(yè)將用于通過預(yù)定義的設(shè)置操作來控制一組RGB led。為了以圖形方式配置操作,將使用一個(gè)包含開始和結(jié)束像素,相關(guān)顏色信息以及要使用的設(shè)置操作的表單。
(順便說一句,不提交表單,因此,如果其他結(jié)構(gòu)更好用,則可以改用它。Forms support name,因此至少可以幫助其中的一些。Javascript將表單中的數(shù)據(jù)解析為JSON文件與AJAX稍后發(fā)送的。我已經(jīng)得到了那大多是想通了,但有一些地方我要去哪里的問題,彈出復(fù)雜的事情,試圖讀出所有形式的數(shù)據(jù)一次在一個(gè)簡(jiǎn)單方式。)
每個(gè)表單都有一些動(dòng)作(onChange選擇該動(dòng)作的下拉菜單或刪除按鈕)僅影響該表單(或其一部分)。還應(yīng)該有一種一次性獲取所有表單并提取數(shù)據(jù)以發(fā)送到服務(wù)器的方法(name由于THAT數(shù)據(jù)安全地包含在表單可訪問元素中,因此可以很好地工作)。
我也無法使用JQuery之類的幫助程序庫(kù),因?yàn)闊o法訪問Internet。所有代碼都必須托管在服務(wù)器上,而且空間極小(托管它的是嵌入式處理器)。我現(xiàn)在不想添加40KB的Jquery。
我遇到的問題是我需要更改標(biāo)簽文本并根據(jù)選擇的選項(xiàng)顯示或隱藏元素。
例如,一種顏色只需要一個(gè)顏色輸入標(biāo)簽,而線性淡入淡出則需要兩個(gè)顏色標(biāo)簽。其他人則不需要顏色,因?yàn)樗鼈儠?huì)對(duì)現(xiàn)有的顏色模式執(zhí)行操作。
使用aform可以name通過查找form_as_JS_var.elements.name來訪問具有屬性集的事物。遺憾的是,這不適用于原始HTML或spans或除特定于表單的元素以外的任何其他內(nèi)容。我還發(fā)現(xiàn),document.getElementById()除了document(如果到目前為止還不很清楚,我對(duì)HTML和JS有點(diǎn)陌生)以外,它沒有其他等效項(xiàng)。我一直希望做類似.getElementById(“ color1”)之類的事情(它可能會(huì)讓我使用相同的標(biāo)簽以簡(jiǎn)化操作,只要它們不會(huì)以每種形式重復(fù)使用,但事后看來有點(diǎn)愚蠢)。無論哪種方式,我都需要確保每個(gè)添加的表單都包含多個(gè)全局唯一的ID,并且 以某種方式 當(dāng)受影響的物料和觸發(fā)更改的物料具有相同的形式時(shí),請(qǐng)查找ID!
我確實(shí)發(fā)現(xiàn)了該label標(biāo)簽,但是它(出于某些無法解釋的原因)綁定到ID而不是名稱(并且很煩人,無法使用JS進(jìn)行設(shè)置,但這是另一回事了)。因此,我仍然堅(jiān)持使用從全局訪問的全局ID,document而不是從任何形式的本地表單方法訪問。
我要使用的HTML表單如下:
New Control Entry
Type:
Rainbow Pattern
Clone Fill
Linear Fade
Single Color
Animation
Color 1:
Color 2:
請(qǐng)注意,其中很多都需要唯一的ID(添加了_#部分)。我必須具有GUID才能使標(biāo)簽正確訪問它們(沒有ID使得標(biāo)簽不可訪問,非唯一ID使它們?nèi)烤鹊亟壎ǖ骄哂性揑D的每個(gè)項(xiàng)目(跨表格))。我還必須有一個(gè)ID才能更改圖例標(biāo)簽的名稱(應(yīng)該更改為與當(dāng)前選擇的Type相匹配。
總結(jié)
以上是生活随笔為你收集整理的html实现动态多表单输入,使用javascript动态编辑多个相同的HTML表单的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle 本年1月1号 yy,ORA
- 下一篇: python mysql查表_pytho