输入按钮以使用svg代替文本

时间:2019-01-05 01:23:29

标签: javascript html svg input

如何获取搜索输入按钮以使用svg而不是文本?

我无法弄清楚。

这可以做到吗?

如果能够完成,将如何编写?

代码: https://jsfiddle.net/w7cmthgv/130/

我要实现的目标。

enter image description here

(function iife() {
  "use strict";
  const searchFor = document.getElementById("searchFor");
  const sent = document.getElementById("sent");

  function searchYT() {
    window.open("https://www.youtube.com/results?search_query=" +
      searchFor.value);
  }
  sent.addEventListener("click", searchYT);
}());
.info {
  display: table-cell;
  white-space: nowrap;
}

input[type=text] {
  font-size: 22px;
  width: 200px;
  margin-top: 40px;
  background: #000000;
  color: #0059dd;
  border: 1px solid #0059dd;
}

input[type=submit] {
  padding-top: 2px;
  padding-bottom: 1px;
  border: 1px solid #0059dd;
  cursor: pointer;
  font-size: 22px;
  background: black;
  color: #0059dd;
  font-family: "Times New Roman", Times, serif;
}

svg {
  background: orange;
}
<div class="info">
  <input type="text" id="searchFor" name="someNameHere" placeholder="Search" />
  <input id="sent" type="submit" value="Search" />
</div>


<svg class="svg" viewBox="0 0 24 24" width="24" height="24">
        <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"> </path>
      </svg>

1 个答案:

答案 0 :(得分:1)

我将使用<button>而不是<input type="submit"。同样,通常,您会将SVG放在HTML的顶部,并在需要时<use>保留这些路径。

希望对您有帮助。

*{margin:0;padding:0;}


input[type=text] {
  height:30px;
  font-size: 22px;
  width: 200px;
  background: #000000;
  color: #0059dd;
  border: none;
}

svg {
  background: orange;
}

.wrap,#sent{width:30px;height:30px;padding:0; margin:0;}
.wrap{width:auto; display:flex;}
<svg class="svg" viewBox="0 0 24 24" width="1">
        <path id="path_id" d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"> </path>
      </svg>

<div class="wrap">
<input type="text" id="searchFor" name="someNameHere" placeholder="Search" />
<button id="sent">
  <svg viewBox="0 0 24 24">
    <use xlink:href="#path_id" />
  </svg>
</button>
</div>