我有一个Web应用程序,我正在动态创建一个URL。网址有参数,我必须传递双引号。我尝试了所有不同的方法,但它仍然无法正常工作。有人有什么想法吗?
创建网址:
searchSurveyDetail.setSurveyFormURL(surveyDetail.getSurveyFormURL()+"#search="+ "\"" + searchValue + "\"");
在页面上:
onClick="window.open('${surveyDetail.surveyInstructionsURL}')"
结果:
onClick="window.open('http://www.mytest.com/survey1.pdf#search="company"')"
答案 0 :(得分:0)
我认为你在服务器端使用PHP?在这种情况下,您应该通过htmlspecialchars()
运行URL,然后再将其连接到HTML。
答案 1 :(得分:0)
简短的回答是你需要双重避开双引号。所以你需要:
searchSurveyDetail.setSurveyFormURL(surveyDetail.getSurveyFormURL()+"#search="+ "\\\"" + searchValue + "\\\"");
产生:
onClick="window.open('http://www.mytest.com/survey1.pdf#search=\"company\"')"
将正确地转义引号。
要记住几件事:
search=term
而不是search="term"
,因为您最后会在最后删除引号。但也许你出于某种原因需要它。