首先我想說,我已經編寫了JavaScript大約3個月的時間,並且我並不十分關心標準或最佳實踐解決這個問題。我主要關心的是學習如何使用DOM。我不想使用任何jQuery,因爲我不熟悉它。我可以打開一個新窗口並在JavaScript中更改調用窗口的DOM嗎?
我想使用JavaScript和DOM在我的頁面上創建非專業的「登錄」功能。首先,我使用的「登錄」屏幕最初將顯示爲「隱藏」,然後在使用時顯示爲「屏蔽」。當我在「登錄」屏幕後面添加一個變暗的屏幕時,通過在「登錄屏幕」下面的頁面的主要部分添加較少的不透明度(0.1不透明度),這很好,並且看起來非常好。
當我關閉「登錄」屏幕時,這(不透明度)將恢復正常。所以你可以看到使用相同的DOM在同一頁面內發生的所有事情。好的,這就是我想要它的工作原理:你創建一個用戶名,然後你創建一個密碼。轟隆完成!
但是,這裏有問題:在你創建一個用戶名和密碼後,我希望它說「你好(用戶名在這裏)」登錄鏈接最初是。我可以使用DOM並將用戶名插入HTML頁面,但是當我提交登錄函數的表單時,頁面會重新加載,並且DOM的更改將被刪除!
所以,現在我可以告訴你我想到的解決方案:使窗體(登錄頁面)在新窗口中,所以當窗體被提交(並且DOM被操作)時,新窗口被重新加載,然後隨後關閉,保持對主頁面DOM的更改不變。唯一的問題是我無法弄清楚如何做到這一點。你可能會說這是一個主要問題哈哈哈。
那麼,我可以從新窗口操縱父窗口(即調用窗口)DOM嗎?
您使用服務器端技術(ASP,PHP,JSP ...)嗎?或者它只是簡單的html + js?接收你提交的表單有能力生成它的html,包括新的'Hello [username here]'消息。 – Roimer
我使用純html + js。我不會把表格發送到任何地方。像這樣:
如果你不需要發佈表單,那麼不要這樣做:) jeje,只是「檢測」用戶點擊提交按鈕爲了「刪除」登錄div(你的第一種方法),但不要允許它發佈帖子,所以你可以隨心所欲地操縱DOM。 – Roimer