Javascript 清除模糊上的输入字段
我正在尝试用blur上的new类清除所有输入,但由于某些原因,它无法工作。三个小时以来,我一直在这个问题上大发雷霆,我错过了哪一点?相关代码如下 更新2 我试着用相应的if块替换switch case块,它们给出了预期的结果。这消除了当前的问题,但我认为它不是对原始问题的可行答案,这就是为什么我的原始代码和switch case不起作用的原因 更新1 经过一些研究和实验,我发现我可以用new类清除所有输入,只要它们不在我的开关盒块内。我正在测试的选择器是$'.new',一旦进入switch case块,就不会产生明显的效果Javascript 清除模糊上的输入字段,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试用blur上的new类清除所有输入,但由于某些原因,它无法工作。三个小时以来,我一直在这个问题上大发雷霆,我错过了哪一点?相关代码如下 更新2 我试着用相应的if块替换switch case块,它们给出了预期的结果。这消除了当前的问题,但我认为它不是对原始问题的可行答案,这就是为什么我的原始代码和switch case不起作用的原因 更新1 经过一些研究和实验,我发现我可以用new类清除所有输入,只要它们不在我的开关盒块内。我正在测试的选择器是$'.new',一旦进入switch ca
@{
ViewBag.Title = "Viser infrastruktur";
Layout = "~/Views/Shared/_SuperOfficeLayout.cshtml";
}
<table class="table table-striped compact hover row-border">
<thead>
<tr>
<th>Produsent</th>
<th>Modell</th>
<th>Serienummer</th>
<th>Firmware</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="control-group">
<input type="text" class="col-md-12 form-control autosave new" name="manufacturer" placeholder="Produsent" value="" />
<input type="hidden" class="autosave new" name="id" value="" />
<input type="hidden" class="autosave new" name="superOfficeCustomerId" value="@Model.SuperOfficeCustomerId" />
</div>
</td>
<td>
<div class="control-group">
<input type="text" class="col-md-12 form-control autosave new" name="model" placeholder="Modell" />
</div>
</td>
<td>
<div class="control-group">
<input type="text" class="col-md-12 form-control autosave new" name="serialNumber" placeholder="Serienummer" />
</div>
</td>
<td>
<div class="control-group">
<input type="text" class="col-md-12 form-control autosave new" name="firmware" placeholder="Firmware" />
</div>
</td>
</tr>
@foreach (var infrastructure in Model.Infrastructures)
{
<tr>
<td>
<div class="control-group">
<input type="text" class="col-md-12 form-control autosave" name="manufacturer" placeholder="Produsent" value="@infrastructure.Manufacturer" />
<input type="hidden" class="autosave" name="id" value="@infrastructure.Id" />
<input type="hidden" class="autosave" name="superOfficeCustomerId" value="@Model.SuperOfficeCustomerId" />
</div>
</td>
<td>
<div class="control-group">
<input type="text" class="col-md-12 form-control autosave" name="model" placeholder="Modell" value="@infrastructure.Model" />
</div>
</td>
<td>
<div class="control-group">
<input type="text" class="col-md-12 form-control autosave" name="serialNumber" placeholder="Serienummer" value="@infrastructure.SerialNumber" />
</div>
</td>
<td>
<div class="control-group">
<input type="text" class="col-md-12 form-control autosave" name="firmware" placeholder="Firmware" value="@infrastructure.Firmware" />
</div>
</td>
</tr>
}
</tbody>
像这样的方法应该会奏效: $'input.new'。在'blur'上,函数{$this.val;$this.text;} 只要确保绑定事件时输入存在,否则可以执行以下操作:
$document.on'blur',input.new',函数{$this.val;$this.text;} 对于香草JavaScript,您可以使用
<input onBlur={(event) => { event.target.value = ''; }} />
这和我已经有的没什么不同。为什么要在val之后运行文本?val应该足够了,但在这种情况下似乎不够。根据输入类型,我还让一些浏览器清除了该值,但框中的文本没有立即更改。我明白了。嗯,我在val调用下添加了文本,仍然没有在浏览器中显示清除的文本,但是如果我尝试在调用val后控制台记录字段的值,它会将值显示为空。但不会显示在浏览器中。有什么想法吗?你能把这件事弄糟吗?然后我们可以试着调试它。另外,我会检查绑定的顺序,如果autosave上的另一个绑定正在捕获模糊,它可能永远不会触发另一个事件处理程序。
<input onBlur={(event) => { event.target.value = ''; }} />