在提交时修改userInput

时间:2012-12-26 08:26:56

标签: javascript

我需要这个javascript的帮助,如果用户在字段中输入任何内容,该字段将打印该值,但我想修改该值的特定部分。用户将提交具有我需要修改的特定字符串的图像URL。

例如用户输入类似于: http://www.domain.com/photos/1.jpg

结果应为: http://www.domain.com/photos-d/1.jpg

以下是代码:

<script type="text/javascript">
function changeText2(){
    var userInput = document.getElementById('userInput').value;
    document.getElementById('result').innerHTML = userInput;
}
</script>

<input type='text' id='userInput' onblur="if(this.value.length == 0) this.value='Enter Image URL';" onclick="if(this.value == 'Enter Image URL') this.value='';"/>
<input type='button' onclick='changeText2()' value='Generate'/>

<p>Output: <a id='result'></a> </p>

非常感谢您的帮助 - 谢谢,

3 个答案:

答案 0 :(得分:0)

您可以在输入前将http://www.domain.com/photos-d/作为标签,而不是要求用户输入此部件。如果他只需要输入图像文件名,则无需更改输入字段。

答案 1 :(得分:0)

<script>
function changeText2(){
    var userInput = document.getElementById('userInput').value;
    document.getElementById('result').innerHTML = userInput.replace("/photos/", "/photos-d/");
}
</script>

<input type='text' id='userInput' placeholder="Enter Image URL"/>
<input type='button' onclick='changeText2()' value='Generate'/>

<p>Output: <a id='result'></a> </p>

P.S。:您可以使用placeholder(支持html5)而不是onblur和onclick事件。

答案 2 :(得分:0)

所以基本上你想根据其中某些字符串的出现来修改字符串viz .jpg。

首先,看看你的userInput是否需要修改。

这样做

  <script type="text/javascript">
    function changeText2(){
        var userInput = document.getElementById('userInput').value;
         if(userInput.indexOf('.jpg') !== -1){

           userInput = userInput.replace('photos','photos-d');
         }
        document.getElementById('result').innerHTML = userInput;
    }
    </script>

所以基本上你需要高效的string replace algos和regex来检测关键字