多个文本框的JavaScript替换方法

时间:2013-06-03 12:31:33

标签: javascript jquery .net

任何人都可以告诉我如何在多个文本框中出现替换方法来替换字符,而不必为每个文本框编写单独的函数。

下面的代码是使用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>

5 个答案:

答案 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;
}