簡體   English   中英

使用JavaScript動態提交表單-如何精煉代碼?

[英]Dynamic form submission using javascript - how to elegant code?

這是問題所在:

我的頁面顯示了一組項目。 每個項目都有一個與其關聯的復選框(它是表單的一部分)。 用戶可以選中其中任何一個復選框,然后按“刪除”按鈕。 在同一頁面上還具有“上傳”按鈕,該按鈕將上傳Excel項目表。 目前,我的表單操作總結為:“ xyzAction”,我有兩個不同的處理程序(類似於Struts Action)-一個用於刪除商店,另一個用於上載商店。

有人告訴我,執行此操作的最佳方法是通過執行以下操作之一來依靠javascript:1)在按上載和刪除按鈕時切換表單動作-在那里調用不同的動作。 2)使用隱藏變量“ act”將其設置為刪除/上傳並提交到單個表單。 服務器端動作將負責識別動作並將其轉發到相應動作。

方法(1)-對我來說似乎很優雅。 進行表單動作似乎沒有必要。 方法(2)-如果您的JavaScript已關閉並且也不是很美觀,則顯然不起作用。

一定有第三種方式可以做到嗎?那會讓我高興嗎?

聽起來您可能需要兩種不同的形式才能執行兩種不同的操作。

您需要先正確獲取HTML。

您有兩種不同的操作,因此您應該有兩種形式-一個好的經驗法則是,每種形式都應該只有一個提交按鈕。 這是HTML的最佳做法,可確保該頁面在沒有JS或其他任何欺騙的情況下都能正常運行。

使頁面像這樣工作后,請使用JS來操作DOM以生成所需的UI。 這是使用JS向用戶界面添加行為,這是不打擾JS的最佳實踐。

(如果您確實想將動作合並為一種形式,則最好用JS更改表單的動作。但是請考慮一下,如果用戶選中一個復選框然后改變主意並上傳文件,會發生什么情況保持選中該復選框。您應注意不要刪除任何內容。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM