更改输入时删除内容
Remove contents when input has changed
这是我的代码:http://jsfiddle.net/spadez/6v3kbLbk/7/
var placeSearch, autocomplete;
var componentForm = {
route: 'long_name',
locality: 'long_name',
administrative_area_level_1: 'long_name',
country: 'long_name',
postal_code: 'short_name'
};
function initialize() {
autocomplete = new google.maps.places.Autocomplete(
(document.getElementById('autocomplete')), {
types: ['geocode']
});
google.maps.event.addListener(autocomplete, 'place_changed', function () {
fillInAddress();
});
}
function fillInAddress() {
var place = autocomplete.getPlace();
for (var component in componentForm) {
document.getElementById(component).value = '';
document.getElementById(component).disabled = false;
}
for (var i = 0; i < place.address_components.length; i++) {
var addressType = place.address_components[i].types[0];
if (componentForm[addressType]) {
var val = place.address_components[i][componentForm[addressType]];
document.getElementById(addressType).value = val;
}
}
}
使用谷歌自动建议,我能够填充返回信息的字段。但是,当发生以下情况时,我遇到了问题:
用户在地址的一部分中键入单击自动完成(清除字段)用户删除或修改当前输入Uuser输入新输入,但不点击自动完成
这会将旧值保留在自动完成字段中。我需要的是检查字段中的内容是否已更改,如果有,请删除带有红色边框的字段中的内容。
谁能告诉我这是怎么做到的?我的猜测是这样的:
$('#autocomplete').on('input', function() {
// do something });
您需要手动存储旧值。您可以使用 javascript 对象来存储每个文本框的值:
function onChangeTest(textbox) {
alert("Value is " + textbox.value + "'n" + "Old Value is " + textbox.oldvalue);
}
<input class="input hidden" id="country" disabled="true" onfocus="this.oldvalue = this.value;" onchange="onChangeTest(this);this.oldvalue = this.value;">
演示
相关文章:
- React 15使用空字符串删除输入值
- 删除输入中输入的符号
- 使用jquery删除输入框上的外部处理程序/库
- 附加和删除输入值的一部分
- 根据下拉选择向表单添加和删除输入标记
- 尝试擦除时删除输入中的零
- 当按键不匹配时删除输入字符
- AngularJS自定义过滤器调用了两次,并在第二次调用时删除输入数据
- 检测用户是否没有't输入任何内容/删除输入jQuery
- React.js引导添加或删除输入字段
- 删除输入jquery中的值时清除所有更改
- 类似开关的按钮可以创建和删除输入框
- 按下“Enter”键时删除输入框中的文本
- 输入时,正在删除输入框文本
- 如何删除输入类型文本
- 从打印预览中删除输入框
- 在表单中添加/删除输入
- 删除输入的最后一个值
- 修剪标签上的空白区域,而不删除<输入>内部
- JQuery 验证代码不允许删除输入的文本