输入str替换

时间:2016-04-20 18:40:21

标签: javascript jquery input replace

我想通过此/替换输入此m.

我的输入如下:

<input type="text" class="text" name="address1" id="address1" value=""/>

在输入中我写了类似street_name 5/47的内容,但在datebase中我希望它像street_name 5 m。 47

我已经尝试了:

var replit = $('input[name=address1]').val().replace("/"," m. ");
$('input[name=address1]').val(replit);

$('input[name=address1]').val(function(index, value) {
     return value.replace('/', ' m. ');
});

但这不是我的工作,我是编程新手,请给我任何提示。

7 个答案:

答案 0 :(得分:1)

尝试

$('input[name=address1]').val($('#input-field-id').val().replace('/', ' m. '))

答案 1 :(得分:1)

您可以使用input事件来跟踪输入字段中的用户更改,然后每次用户更改字段时,事件都会像/一样将字符m.替换为字符。

$('body').on('input', 'input[name=address1]', function() {
  $(this).val($(this).val().replace('/', ' m. '));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="text" name="address1" id="address1" value=""/>

或者,如果您不希望用户看到您所做的替换,您可以在submit事件中提交后立即替换斜杠:

$('body').on('submit', 'your_form_selector', function() {
     $(this).val($(this).val.replace('/', ' m. '));
});

希望这有帮助。

答案 2 :(得分:0)

使用此

$('#address1').on('change',function()
{  
    $(this).val($(this).val().replace("/"," m. "));
});

答案 3 :(得分:0)

试试这个

$(document).ready(function(){
    $('input[name=preco]').blur(function(){
        var value = $(this).val();
        $(this).val(value.replace('/','m. '));
    });
});

答案 4 :(得分:0)

这是一个显示您的解决方案有效的小提琴:https://jsfiddle.net/e7n38wjz/2/ 如果这是你想要的,请告诉我。你知道你在使用什么JQuery版本吗?这个JSFiddle被设置为使用JQUERY 1.6.4。

以下是代码:

<input type="text" class="text" name="address1" id="address1" value="street_name 5/47"/>
<br>
<input type="text" class="text" name="address2" id="address1" value=""/>

// JS
var replit =  $('input[name=address1]').val().replace("/"," m. ");
$('input[name=address2]').val(replit);

答案 5 :(得分:0)

您的两个示例都有效。请参见此处:https://jsfiddle.net/zreeLzo4/和此处:https://jsfiddle.net/q6awd8ng/

所以你需要更好地描述“不工作”对你意味着什么。你不期望会发生什么?你没想到会发生什么?

有一点需要注意:如果您提供字符串作为匹配器而不是正则表达式,则对字符串使用replace只会替换匹配的第一个实例。使用带有全局标志的正则表达式替换所有实例:

var startString = 'street_name 5/47 something/else';
var endString = startString.replace(/\//g," m. ");
console.log(endString); // <- street_name 5 m. 47 something m. else

答案 6 :(得分:0)

如果您希望只有数据库中的条目应使用'm'而不是'/',那么您应该考虑在将数据写入数据库的任何位置更改输入值。您应该考虑以下列方式使用.submit()事件:

<script>
    $(document).ready(function(){
        $("#detailForm").on("submit", function(){
            var value = $('input[name=address1]').val();
            value = value.replace("/", " m. ");
            $('input[name=address1]').val(value);
        });
    });
</script>