通过javascript为action属性提供字符串(而不是完整地址)

通过javascript为action属性提供字符串(而不是完整地址),javascript,html,Javascript,Html,我只想给上的action属性一个字符串。参见示例 我不明白的是,它从中得到了http部分。如图所示 如果您只是阅读代码的函数,您可能已经注意到该部分由javaScript代码填充。下面是函数 function myFunction() // executed when button is clicked { var x = document.getElementById("myForm").action; // get action attribute document.getElementBy

我只想给上的action属性一个字符串。参见示例

我不明白的是,它从中得到了http部分。如图所示


如果您只是阅读代码的函数,您可能已经注意到该部分由javaScript代码填充。下面是函数

function myFunction() // executed when button is clicked
{
var x = document.getElementById("myForm").action; // get action attribute
document.getElementById("demo").innerHTML=x; // write it
}
这将得到表单的操作。并在演示元素中显示它


页面名称在action属性中给出。并且域名是由服务器自动添加的,因此请求现在是完整的URL。这就是为什么零件会自动添加到返回的字符串中

相对和绝对URL

相对的

将返回绝对实际url和路径,无论是否相对设置

如果要获取“操作”属性中设置的实际值,可以使用:


值得注意的是,如果他们使用getAttributeaction,它只会在直接调用时返回表单_action.asp。action它获取浏览器解析的值,从而添加域以创建完整的URL,而getAttribute实际上获取属性的值。当然,正如我在评论中所说的,您可以使用.getAttributeaction,它只从_action.asp获取属性的实际值。或者你是在得到http://www.w3schools.com/jsref/ ?这个域名添加了HTML的哪一部分。我的意思是在它添加的地方,它只是将它附加到提供给您的响应中。。它可以从浏览器的URL栏访问。。。
<form id="myForm" action="form_action.asp">
<form id="myForm" action="http://www.domain.com/form_action.asp">
document.getElementById("myForm").action; 
document.getElementById("myForm").getAttribute("action");