Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 输入类型=";url";对于相对URL_Html_Input - Fatal编程技术网

Html 输入类型=";url";对于相对URL

Html 输入类型=";url";对于相对URL,html,input,Html,Input,我有一个输入框,用户可以在自定义链接中输入到创建表单中的页面(有点类似于Wordpress)。(例如,about/awards用于http://site.com/pages/about/awards)在某个时候,这在Chrome中停止了工作,因为他们现在对input type=“url”字段进行更严格的验证。这很好,但是: 它不允许相对URL。about/awards是一个相对URL,但Chrome似乎拒绝绝对URL之外的所有内容 失败并不特别明显。它只关注表单字段(这不是特别明显),并拒绝提

我有一个输入框,用户可以在自定义链接中输入到创建表单中的页面(有点类似于Wordpress)。(例如,
about/awards
用于
http://site.com/pages/about/awards
)在某个时候,这在Chrome中停止了工作,因为他们现在对
input type=“url”
字段进行更严格的验证。这很好,但是:

  • 它不允许相对URL。about/awards是一个相对URL,但Chrome似乎拒绝绝对URL之外的所有内容
  • 失败并不特别明显。它只关注表单字段(这不是特别明显),并拒绝提交表单。我得到的报告是表格“不起作用”,因为他们没有注意到发生了什么,我花了几分钟才意识到发生了什么
我通过切换回input type=“text”来修复它,但这会破坏一些添加的有用内容(例如iPhone上的特殊键盘)


这是HTML5规范的一部分,还是Chrome实现中的一个问题?

该规范仍在制定中,但从这段引语来看,这可能是Chrome实现中的一个问题(粗体强调是我的):

用户代理可允许用户设置 不是字符串的字符串的值 有效的绝对URL,但也可以是或 而是自动逃逸 用户输入的字符,以便 该值始终是有效的绝对值 URL(即使这不是实际的 用户在中查看和编辑的值 接口)。用户代理应该 允许用户将值设置为 空字符串。用户代理不能 允许用户插入U+000A换行符 (左)或U+000D回车(CR) 将字符转换为值

它说,“虽然元素的值不是有效的绝对URL,但元素存在类型不匹配的问题。”

我正在使用的一种可编程的静态语义解决方法是使用
模式
属性允许相对URL:

<input required="required" type="url" pattern="(https?|/).*?" name="sStyleBackgroundImageURL" value="{!sStyleBackgroundImageURL}"></input>


当输入相对URL时,某些浏览器不允许验证成功。相反,将输入模式属性设置为正则表达式。

@GSto:My bad,忘记了最重要的句子。您可以在提交时在相对URL前面加上“http://”,使其有效。看看这里的例子。。。