怎么加“?”用js提交表单时在字符串中?

Posted

技术标签:

【中文标题】怎么加“?”用js提交表单时在字符串中?【英文标题】:How to add "?" in string while submitting form with js? 【发布时间】:2022-01-15 21:18:10 【问题描述】:

我用attr方法写了一个表单提交线程:

var href = a.attr('href');
if(href =='') return;
if(href.startsWith('http') || href.startsWith('//:'))
  a.attr('href',href.trim());
  if(href.indexOf(location.hostname) > -1)
    return;
  
  if(href.indexOf('<?php echo $_SERVER['SERVER_NAME']; ?>') > -1)
    return;
  

  a.attr('href','go.htm?uri='+href);
  a.attr('rel','nofollow');

但是,它返回的URL不带?,例如我想返回https://example.abc.com/?ref=abc,返回结果将是https://example.abc.com/ref=abc不带“?”问号。

我正在努力解决这个问题,感谢任何有用的提示。

【问题讨论】:

【参考方案1】:

您可以使用拆分函数字符串。用“?”分割你的网址并取第一个元素。

var yourRequiredLink = href.replace("?", '')

【讨论】:

还是把这个拆分成一个函数,在attr方法中使用这个函数好不好? 是的,您也可以这样做。这取决于您要遵循的项目规模和标准。如果只是为了学习/小项目,那么你可以无功而返。 href.split('?') 将返回一个由“?”分割的字符串数组。举个例子 ['example.abc.com', 'ref=abc'] 所以你会有部分 URL 没有“?”。 我想我有一个更好的解决方案来解决你的问题使用href.replace("?", '')这应该可以解决问题@LLLgoyour 非常感谢你:D

以上是关于怎么加“?”用js提交表单时在字符串中?的主要内容,如果未能解决你的问题,请参考以下文章

js验证表单不能填数字怎么判断?

用的ajax提交的表单,js base64编码怎么用

在JSP中没有表单,怎么用按钮(button)将数据提交给某个url,请教这个JS方法怎么写?

jQuery formValidator表单验证 禁止输入汉字

form提交,并用js验证手机号码

jquery.validate不用submit提交,用js提交的,怎么触发验证啊?