javascript - 如果 URL 包含字符串,则更改页面加载时的输入值
问题描述
我正在尝试根据地址栏中的 URL 更改输入字段的值。如果 URL 包含“sometext”,则输入字段值应为“按关键字或目录号搜索”,否则,该值应为“按关键字搜索”。单击输入框时,占位符文本应该消失。
没有控制台错误,但输入字段文本未更改。
window.onload = onPageLoad();
function onPageLoad() {
var url = parent.document.URL; //Using parent.document.URL as this in within an iFrame.
if (url.indexOf("sometext") > -1) {
$("#SearchValue").val("Search by keyword or catalogue number")
}
else {
$("#SearchValue").val("Search by keyword")
}
}
<input onfocus="if(this.value.indexOf('Search by keyword') > -1){this.value = '';}" size="50" value="Search by keyword" name="SearchValue">
解决方案
首先,您不需要弄乱输入控件的值,placeholder
您可以使用一个属性:
HTML
<input size="50" placeholder="" name="SearchValue" id="SearchValue">
Javascript
window.onload = onPageLoad();
function onPageLoad() {
var url = document.location.href;
if (url.indexOf("sometext") > -1) {
$("#SearchValue").attr("placeholder", "Search by keyword or catalogue number");
}
else {
$("#SearchValue").attr("placeholder", "Search by keyword");
}
}
推荐阅读
- terraform - python terraform apply auto approve not working
- go - 在 Visual Studio Code WSL 中调试 Go 代码
- perl - Perl 搜索唯一的行和相应的文件名
- java - 如何将消息保存到数据库并将响应发送到主题最终一致?
- python - 数字签名的 PDF 文件仍可编辑
- python - 如何显示一个漂亮的 fft 瀑布
- xcode - 当我更新 Xcode 11 beta3 版本时,我在模拟器上找不到暗模式开关
- wso2 - 入站端点的 WSO2 ESB 动态配置
- c# - 访问父c#实体框架的子表时列名无效
- rt - 删除附件以减少磁盘空间