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

问题描述:

我有一个textarea与表单的代码,用户将复制并粘贴到他们的网站。用textarea替换一个字符串与另一个文本

在textarea的HTML代码将是这样的

UPDATE:注意下面的形式被封闭在一个文本。这将在一个文本

<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> 

您可以按以下方式做到这一点,把type="button"的按钮元素,因为这每次提交

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

使用下面的jQuery哪里绑定单击窗体事件按钮并替换表单的动作属性。
注意: - 你可以调用的onclick用相同的代码,而不是biniding click事件JavaScript函数

$(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

添加idformmyForm

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

表单在textarea中。此表单应视为文本 – Prady 2014-09-04 06:57:44

举一个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 
+1

问题中的“表单”是__plain text__,而不是HTML元素。 – Teemu 2014-09-04 06:37:22

这里有一个简单的片断:

$('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