替换表单提交中的字段中的字符

时间:2011-12-24 05:35:13

标签: javascript jquery

例如,如果字段值为“John Wayne”,我希望将其替换为“John_Wayne”

我想我可以通过jQuery实现这一点,基本思想如下:

$('#searchform').submit(function() {

//take current field value
//replace characters in field
//replace field with new value

}); 

感谢任何帮助。

2 个答案:

答案 0 :(得分:10)

您可以使用带有函数的val重载:

$("input:text").val(function (i, value) {
    /* Return the new value here. "value" is the old value of the input: */
    return value.replace(/\s+/g, "_");
});

(您可能希望您的选择器比input:text更具体)

示例: http://jsfiddle.net/nTXse/

答案 1 :(得分:1)

如果您想要查看所有表单元素而不单独指定它们,您可以执行以下操作:

$('#searchform').submit(function() {
    $.each($(':input', this), function() {
        $(this).val($(this).val().replace(' ', '_'));
    });
});

你可能需要注意元素的类型,它是可见的,启用的,某种类型等。


编辑:我会用安德鲁的回答。这只是第一个突然出现在我头脑中的解决方案。这个可能最终会让你对你表单中的每个字段有更多的控制权,但Andrew的简短而且很甜蜜。