1

我已经进行了一些谷歌搜索,但无法使其正常工作。我需要做的是查看表单中的所有 TEXT 字段,并将“,”(逗号)的所有实例替换为“ 4;” (转义逗号)提交。

这是表单标签:

<form name="buildcourse" id="buildcourse" action="target.htm" method="post" enctype="multipart/form-data" onsubmit="validateForm()">

这是我的javascript函数:

<script language="javascript">
function validateForm(buildcourse){
    $('form input[type="text"]').each(function(){
        this.value = replace(",","&#44;");
    });
}
</script>

很想帮助它工作。抱歉,我完全不懂 Javascript。

4

2 回答 2

2

您可以这样做以拆分commas然后重新加入"&#44;"

$('form input[type="text"]').each(function(){
    this.value = this.value.split(',').join('&#44;')
});

纯javascript http://jsfiddle.net/mQrLS/3/

var theInputs = document.getElementsByTagName('input');  
for (var i = 0; i < theInputs.length; i++) {
    var node = theInputs [i];

    if (node.getAttribute('type') == 'text') {
        // using split
        //node.value = this.value.split(',').join('&#44;');
        // using regex
        node.value= node.value.replace(/,/g,'&#44;');
    }
} 

正如@Radu 提到的那样,用正则表达式替换确实执行得更快

于 2012-06-13T17:44:53.303 回答
2

您的代码的问题是没有全局替换功能。然而,它可以作为任何字符串的方法使用。

<form name="buildcourse" id="buildcourse" action="target.htm" method="post" enctype="multipart/form-data">

(取出内联事件绑定)

$('#buildcourse').submit(function() {
    $('form input[type="text"]').each(function(){
        this.value = this.value.replace(/,/g, '&#44;');
    });
});​
于 2012-06-13T17:51:52.683 回答