Javascript 如何清除的文本编辑器
我在Razor页面上有这样一个元素:Javascript 如何清除的文本编辑器,javascript,jquery,razor,Javascript,Jquery,Razor,我在Razor页面上有这样一个元素: <td> <div class="col-md-12"> @Html.EditorFor(model => model.FreeTextName, new { htmlAttributes = new { @class = "form-control" } }) </div> </td> <script type="text/javascript">
<td>
<div class="col-md-12">
@Html.EditorFor(model => model.FreeTextName, new { htmlAttributes = new { @class = "form-control" } })
</div>
</td>
<script type="text/javascript">
$('#FreeTextSwitchId').focusin(
$('#FreeTextName').val("")
)
</script>
@EditorFor(model=>model.FreeTextName,new{htmlAttributes=new{@class=“form control”}})
当页面第一次呈现时,页面中有提示文本,如“在此处输入要搜索的名称”
我希望当用户点击该字段时,该文本消失,因此我编写了如下小脚本:
<td>
<div class="col-md-12">
@Html.EditorFor(model => model.FreeTextName, new { htmlAttributes = new { @class = "form-control" } })
</div>
</td>
<script type="text/javascript">
$('#FreeTextSwitchId').focusin(
$('#FreeTextName').val("")
)
</script>
$('#FreeTextSwitchId')。焦点在(
$('#FreeTextName').val(“”)
)
但现在,我的页面呈现时提示测试已取消。我知道这是脚本在做的,因为如果我这样做:$('FreeTextName').val(“test”)
,则会显示“test”而不是提示文本
我做错了什么?你想做水印吗???您可以在HTML5中使用“占位符”属性
您应该在输入中添加占位符。下面是一个例子:
当用户输入时,文本将消失。由于我使用MVC4,我实际上决定使用中的顶部答案:使用您的
@Html.EditorFor()
,如下所示:
@Html.EditorFor(model => model.FreeTextName, new { @class = "form-control" })
<script type="text/javascript">
$('.form-control').on('blur click', function(){
$(this).val("");
});
</script>
现在您已经在@Html.EditorFor()
中给出了一个类,即.form控件
。在脚本中使用类。这样做脚本:
@Html.EditorFor(model => model.FreeTextName, new { @class = "form-control" })
<script type="text/javascript">
$('.form-control').on('blur click', function(){
$(this).val("");
});
</script>
它是一个html输入type=“textbox”属性,自动将默认文本作为默认提示添加到textbox中,以便用户能够理解此文本框中应该给出的内容。为此,您不需要使用任何脚本
希望这有帮助