首页 > 解决方案 > 如果 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">

标签: javascriptjquery

解决方案


首先,您不需要弄乱输入控件的值,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");
  }
}

你可以在这里试试:https ://zikro.gr/dbg/html/test.html?sometext


推荐阅读