我有一个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>
答案 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。
答案 2 :(得分:0)
将id
添加到form
说myForm
,
$('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