用另一个文本替换textarea中的字符串

时间:2014-09-04 06:29:39

标签: javascript jquery html

我有一个textarea,其中包含用户可以复制并粘贴到其网站中的表单代码。

textarea中的html就是这样的

更新:请注意,以下表单包含在textarea中。这将是textarea中的纯文本

<form action="https://www.xxxxxxx.com/servlet/servlet?encoding=UTF-8" method="POST">
<label for="first_name">First Name</label><input  id="first_name" maxlength="40" name="first_name" size="20" type="text" /><br>

<label for="last_name">Last Name</label><input  id="last_name" maxlength="80" name="last_name" size="20" type="text" /><br>

<input type="submit" name="submit">

</form>

我想将表单标记的url更改为https://www.yyyyyyyyy.com/parse.php,并使用jquery或普通javascript将更改后的表单代码复制到另一个textarea中。以下是完整的HTML

<form>
 <textarea rows="10" cols="80" id="oldCode">
  <form action="https://www.xxxxxxx.com/servlet/servlet?encoding=UTF-8" method="POST">
  <label for="first_name">First Name</label><input  id="first_name" maxlength="40" name="first_name" size="20" type="text" /><br>

  <label for="last_name">Last Name</label><input  id="last_name" maxlength="80" name="last_name" size="20" type="text" /><br>

<input type="submit" name="submit">

</form>
</textarea>
    <button onclick="generateCode()">Generate new Code</button>
<textarea id="newCode" rows="10" cols="80">
</textarea>   
</form>

4 个答案:

答案 0 :(得分:2)

您可以通过以下方式执行此操作,将type="button"放入按钮元素,因为每次都会提交表单

<button type="button" id="generate" >Generate new Code</button>

在jQuery下面使用bind click event to button并替换表单的action属性 注意: - 您可以使用相同的代码调用onclick javascript函数,而不是双击click事件

$(function(){
    $("#generate").click(function(){
      var value = $('#oldCode').val();
      var div = $('<div></div>');
      $(div).append(value);

      $(div).find('form').attr('action','https://www.yyyyyyyyy.com/parse.php');

      $('#newCode').val( $(div).html());
    });
});

<强> Demo

答案 1 :(得分:1)

这是一个简单的代码段:

$('button').click(function () {
    var clone = $($('#oldCode').val()).clone();
    clone.attr('action', 'https://www.yyyyyyyyy.com/parse.php');
    $('#newCode').val(clone[0].outerHTML);
});

即。只需创建textarea值的克隆,更改属性,并将克隆的HTML添加到其他textarea。

A live demo at jsFiddle

答案 2 :(得分:0)

id添加到formmyForm

$('button').click(function(){
    var formClone = $('#myForm').clone();
    formClone.attr('action', 'https://www.yyyyyyyyy.com/parse.php');
    $('#newCode').text(formClone);
)};

答案 3 :(得分:0)

为表单提供id

<form action="https://www.xxxxxxx.com/servlet/servlet?encoding=UTF-8" method="POST" id="form">
                                                                                     ^
<label for="first_name">First Name</label><input  id="first_name" maxlength="40" name="first_name" size="20" type="text" /><br>

<label for="last_name">Last Name</label><input  id="last_name" maxlength="80" name="last_name" size="20" type="text" /><br>

<input type="submit" name="submit">

</form>

在jquery函数中

$('#form').attr('action', 'https://www.yyyyyyyyy.com/parse.php '); // set the action attribute to required page
$('#newCode').html($('#form').html());   // set the html of textarea with id newCode as the html content of form with id form