如何将文本转换为输入?

时间:2011-07-02 16:22:09

标签: javascript text transform helpers textinput

我如何创建如下内容:
- 有一些文字
- 我点击它 - 它转换为包含我单击的文本的输入。

4 个答案:

答案 0 :(得分:2)

这样的事情

HTML

<div onclick="transform(this)">Some text here</div>

的Javascript

function transform(obj)
{
    obj.innerHTML = "<input type='text' value='" + obj.innerHTML + "' />";
}

希望我能正确理解你的问题。

答案 1 :(得分:1)

<a href="#" onclick="var input = document.createElement('input'); input.setAttribute('value', this.firstChild.nodeValue); this.parentNode.replaceChild(input, this);">here is some text</a>. Click it.

您也可以使用<a><span>而不是<div>

答案 2 :(得分:1)

假设HTML:

<p id='changeMe'>This is some text</p>

你可以使用jQuery:

$('#changeMe').click(function(){
    $this = $(this)
    $this.replaceWith( $('<input />').val( $this.text() ) )
})

在此处查看演示:http://jsfiddle.net/aXZ8e/

答案 3 :(得分:1)

<span id="target" onclick="javascript:run();" >This is dummy text</span>

<script type="text/javascript">
function run() {
  var span = document.getElementById( "target" );
  var text = span.innerHTML;
  var input = document.createElement("input");

  input.type = "text";
  input.value = text;

  span.innerHTML = "";
  span.appendChild( input );

  span.onclick = null;
}
</script>