Javascript 如何用它替换html对象';什么是文本内容?
我正试图用查询字符串替换链接参数,在web开发方面,我是一个新手 我尝试了String()、object.textContent()和其他一些方法,但似乎无法得到我想要的 这是我的密码:Javascript 如何用它替换html对象';什么是文本内容?,javascript,html,Javascript,Html,我正试图用查询字符串替换链接参数,在web开发方面,我是一个新手 我尝试了String()、object.textContent()和其他一些方法,但似乎无法得到我想要的 这是我的密码: link="https://someWebsite?phone=replace1&message=replace2" link = link.replace("replace1",phone); //phone is an input box returned by document.getElemen
link="https://someWebsite?phone=replace1&message=replace2"
link = link.replace("replace1",phone); //phone is an input box returned by document.getElementByID() method
link = link.replace("replace2",message); //message is a text area returned by document.getElementByID() method
expected link: https://someWebsite?phone=123456&mesaage=somemessage
actual link: https://someWebsite?phone= [object HTMLInputElement]&message=[object HTMLTextAreaElement]
要获取输入的值
,请使用其值
。此外,在查询字符串中,您必须使用encodeURIComponent
imk_对查询参数进行编码。因此:
link="https://someWebsite?phone=replace1&message=replace2"
link = link.replace("replace1",encodeURIComponent(phone.value));
link = link.replace("replace2",encodeURIComponent(message.value));
还请注意,其中每一个都将替换第一次出现的,而不是所有出现的。查看您是否需要将这些(replace1
,replace2
)中的每一个都替换到第一个位置以外的位置
当然,对于您显示的代码,完全不使用replace
更有意义:
link = "https://someWebsite?phone=" + encodeURIComponent(phone.value) +
"&message=" + encodeURIComponent(message.value);
或使用ES2015+:
link = `https://someWebsite?phone=${encodeURIComponent(phone.value)}&message=${encodeURIComponent(message.value)}`;
也必须对名称进行编码,但是
encodeURIComponent(“电话”)
是“电话”
,encodeURIComponent(“消息”)
是“消息”
,所以。。。但是,如果有其他字符,例如[]
,则需要对它们进行编码。要获取输入的值,请使用其值。此外,在查询字符串中,您必须使用encodeURIComponent
imk_对查询参数进行编码。因此:
link="https://someWebsite?phone=replace1&message=replace2"
link = link.replace("replace1",encodeURIComponent(phone.value));
link = link.replace("replace2",encodeURIComponent(message.value));
还请注意,其中每一个都将替换第一次出现的,而不是所有出现的。查看您是否需要将这些(replace1
,replace2
)中的每一个都替换到第一个位置以外的位置
当然,对于您显示的代码,完全不使用replace
更有意义:
link = "https://someWebsite?phone=" + encodeURIComponent(phone.value) +
"&message=" + encodeURIComponent(message.value);
或使用ES2015+:
link = `https://someWebsite?phone=${encodeURIComponent(phone.value)}&message=${encodeURIComponent(message.value)}`;
也必须对名称进行编码,但是encodeURIComponent(“电话”)
是“电话”
,encodeURIComponent(“消息”)
是“消息”
,所以。。。但是,如果有其他字符,例如[]
,则需要对它们进行编码。在jQuery中,我们使用反勾号和${}进行字符串插值:
`some text ${replacedtext} some other text`
"some text" + replacedtext + "some other text"
如果您使用的是香草javascript,请使用+符号进行字符串插值:
`some text ${replacedtext} some other text`
"some text" + replacedtext + "some other text"
希望这有助于在jQuery中,我们使用backticks和${}进行字符串插值:
`some text ${replacedtext} some other text`
"some text" + replacedtext + "some other text"
如果您使用的是香草javascript,请使用+符号进行字符串插值:
`some text ${replacedtext} some other text`
"some text" + replacedtext + "some other text"
希望这有帮助欢迎来到Stack Overflow!请拿着(你得到了一个徽章!),环顾四周,仔细阅读,特别是我还推荐Jon Skeet的“我已经尝试过String()、object.textContent()和其他一些东西”向我们展示了你通过复制和粘贴尝试过的代码。最好用一个演示问题的例子来更新你的问题。(特别是,如果元素不是输入,你使用textContent
的方法是正确的;否则,你需要value
)听起来像phone
和message
是input
对象。尝试phone.value
和message.value
.T.J。所以需要一个按钮,以便我们都能准确添加您的评论。@AustinMullins谢谢!phone.value和message.value完成了任务。欢迎使用堆栈溢出!请拿着(你得到了一个徽章!),环顾四周,仔细阅读,特别是我还推荐Jon Skeet的“我已经尝试过String()、object.textContent()和其他一些东西”向我们展示了你通过复制和粘贴尝试过的代码。最好用一个演示问题的例子来更新你的问题。(特别是,如果元素不是输入,你使用textContent
的方法是正确的;否则,你需要value
)听起来像phone
和message
是input
对象。尝试phone.value
和message.value
.T.J。所以需要一个按钮,以便我们都能准确添加您的评论。@AustinMullins谢谢!phone.value和message.value完成了任务。