2017-10-13 42 views
2
<form id = "myForm" action="localhost" method="get"> 
    <input name="liftString" type="text"> 
    <input type="submit"> 
</form> 

單擊「提交」按鈕時,此表單不起作用。我沒有重定向到localhost爲什麼action =「localhost」會導致在提交時沒有做任何事情?

如果我將action屬性更改爲"/localhost",它在本地運行表單時嘗試將我帶到file:///localhost?liftString=d

如果我將action更改爲"http://localhost",它正確地將我帶到http://localhost/?liftString=f

發佈的表單中發生了什麼?爲什麼單擊提交時表單無效?

澄清:我明白action="/localhost"action="https://localhost"是怎麼回事。我不明白的是爲什麼沒有發生時,我有action="localhost"

+0

由於/ localhost把它帶到文件位置我假設它是從文件系統運行而不是通過服務器 –

回答

4

不與一個方案(如http://)或方案相對指示器(//)啓動URL是相對於當前URL(除非<base>覆蓋。

因此,瀏覽器需要的URL當前頁面的,剝去一切後,它會在最後/,追加相對URL(localhost)然後添加後的查詢字符串。

由於您使用的是file://方案來查看頁面,表單將提交到電腦上沒有HTTP服務器的文件來處理表單數據e localhost不存在,瀏覽器只是忽略表單提交請求。

+0

好的教學答案 –

相關問題