用另一个字符串替换url中的字符串

时间:2015-03-11 07:49:27

标签: javascript html

用电影取代imgur,

输入框 - http://i.imgur.com/abcde.jpg

提交按钮

在新标签http://i中点击提交。 filmot .com / abcde.jpg必须打开。

<html>
 <head>
 <title>input</title>
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
<script>
function myFunction() {
    var res = str1.replace("imgur", "filmot");
    var win = window.open(res, '_blank');
    win.focus();
});
</script>
</head>
<body>
 <form>
 <input type=”text” id=”str1” />
<button onclick="myFunction()">Click</button>
</form>
</body>
</html>

返回代码无效。请建议。

谢谢:)

编辑:

这是解决方案代码:)

<html>
 <head>
 <title>input</title>
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
function myFunction() {
  var str1 = document.getElementById('str1').value;
  var res = str1.replace("imgur", "filmot");
  document.getElementById('str1').value = res;
  var win = window.open(res, '_blank');
  win.focus();
}
</script>
</head>
<body>
<input type="text" id="str1" />
<button onclick="myFunction()">Click</button> 
</body>
</html>

4 个答案:

答案 0 :(得分:3)

试试这个:

<script>
function myFunction() {
   var str1 = document.getElementById('str1').value; // add this
   var res = str1.replace("imgur", "filmot");
   var win = window.open(res, '_blank');
   win.focus();
} // <-----do a proper function closing.
</script>

需要提及的另一件事可能是您使用的type=”text” id=”str1”引号,它们不是正确的引号。那应该改为:

type="text" id="str1"

结帐演示:

&#13;
&#13;
function myFunction() {
  var str1 = document.getElementById('str1').value;
  var res = str1.replace("imgur", "filmot");
  document.getElementById('str1').value = res;
  //window.open(res, '_blank');
  //win.focus();
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<input type="text" id="str1" value="http://i.imgur.com/abcde.jpg" />
<button onclick="myFunction()">Click</button>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

更改此代码。

var res = str1.replace("imgur", "filmot");

var res = $("#str1").val().replace("imgur", "filmot");

您的代码没有从文本框中获取值。您只是使用了对文本框的引用。

<强>更新

在功能结束时将});更改为}

答案 2 :(得分:0)

参考Opening a New Window教程:

  

要打开一个新窗口,您需要使用另一个现成的JavaScript函数。这是它的样子:

window.open('url to open','window name','attribute1,attribute2')

我已编辑了该功能(添加了窗口名称')并且工作正常,替换了网址a,并在新标签中打开它:

function myFunction() {
  var str1 = document.getElementById('str1').value;
  var res = str1.replace("imgur", "filmot");
  window.open(res, 'new window', '_blank');
} 

这是the working DEMO

答案 3 :(得分:0)

请试试这个:

<html>
 <head>
 <title>input</title>
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
<script>
function myFunction() {
    var newString=str1.value;
    var res = newString.replace("imgur", "filmot");
    var win = window.open(res, '_blank');
    win.focus();
};
</script>
</head>
<body>
 <form>
 <input type="text" id="str1" value=""/>
<button onclick="myFunction();">Click</button>
</form>
</body>
</html>