我如何为输入提供默认值,当用户提交表单时,只有来自已更改输入的值才会进行查询,那些未进行更改的值不会?
我有:
@using (Ajax.BeginForm("Search", "Persons", new AjaxOptions
{
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "results",
LoadingElementId = "progress"
}))
{
<input name="Name" type="text" class="cleardefault" value="First and Last name"/>
<input name="Adress" type="text" class="cleardefault" value="Adress"/>
<input name="Search" type="submit" class="mainSearchSubmit" value="submit" />
}
我正在使用清除和替换默认文本的功能
<input>
元素,作者:Ross Shannon,http://www.yourhtmlsource.com/
我的目标是只发送非默认值?这样当我断点到我的控制器时,我的查询里面有默认值?有没有办法解决这个问题,仍然保留MVC3本机代码?
有什么想法吗?
答案 0 :(得分:0)
完整答案:来自hagenburger.net
<强> HTML 强>
<input type="text" placeholder="Fill me …">
<强> JS 强>
//for older browsers
$('[placeholder]').focus(function() {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
input.removeClass('placeholder');
}
}).blur(function() {
var input = $(this);
if (input.val() == '' || input.val() == input.attr('placeholder')) {
input.addClass('placeholder');
input.val(input.attr('placeholder'));
}
}).blur();
$('[placeholder]').parents('form').submit(function() {
$(this).find('[placeholder]').each(function() {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
}
})
});
<强> CSS 强>
.placeholder
{
color: #aaa;
}
答案 1 :(得分:0)
尝试从默认字段中删除name
属性。这样就不会提交默认输入字段。更改默认输入字段的值后,只需添加名称属性...
希望我足够清楚......