任何人都可以告诉我如何在多个文本框中出现替换方法来替换字符,而不必为每个文本框编写单独的函数。
下面的代码是使用replace方法的基本方法,但它只允许一个文本框。
我确定我需要一个循环,但我不确定如何在不影响替换方法的情况下使用它。
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript">
function stringReplace(form) {
var replaceStr = form.textfield1.value
var pattern = /\'/g;
form.textfield1.value = replaceStr.replace(pattern, "''");
}
</script>
</head>
<body>
<form name="form1" method="post" action="JStest_redirect.asp">
<p>fname:
<input type="text" name="textfield1" size="20">
</p>
<p>lname:
<input type="text" name="textfield2" size="20">
</p>
<p>
<input onclick="return stringReplace(form)" type="submit" name="Submit" value="Submit">
</p>
</form>
</body>
</html>
答案 0 :(得分:2)
你可以这样做:
function stringReplace(form) {
var $inputs = $(form).find('input:text');
var pattern = /\'/g;
$inputs.each(function () {
this.value = this.value.replace(pattern, "''");
});
return false; // Prevent the form from being submitted
}
这将找到表单中的所有输入类型文本并替换它们的值。
答案 1 :(得分:0)
你似乎想要
function stringReplace(form) {
$('input[type=text]').val(function(_, v) {
return v.replace(/\'/g, "''");
});
return false;
}
我在最后添加了return false
,以防止在点击时提交表单。您可能希望在您的案例中有一个单独的按钮。
答案 2 :(得分:0)
我相信首先你必须采取所有的价值
function GetValue(){
var Contain = "";
$("#form1 :text").each(function(){
//add replace code here
});
}
答案 3 :(得分:0)
您可以为所有文字输入添加onchange
功能
function stringReplace(textField) {
var replaceStr = this.value
var pattern = /\'/g;
this.value = replaceStr.replace(pattern, "''");
}
而不是你添加
<input type="text" name="textfield1" size="20" onchange="stringReplace(this);">
答案 4 :(得分:0)
如果您希望在没有jquery的情况下执行此操作,则可以使用getElementsByTagName()方法。
function stringReplace(form) {
var pattern = /\'/g;
var inputs = form.getElementsByTagName("input");
var input;
for (var i = 0; i < inputs.length; i++) {
input = inputs[i];
if (input.type = 'text') {
var replaceStr = input.value;
input.value = replaceStr.replace(pattern, "''");
}
}
return false;
}