有没有办法让HTML表单提交默认值?

时间:2013-11-09 00:04:31

标签: html forms

是否有一种方法(没有JS)使输入字段POST为默认值,以防某些输入字段在执行提交时为空白?

换句话说:我想避免在服务器端回收诸如

之类的东西
  

“ID =&安培; PW =”

<form>
    <input name="ID" value="stuff"/>
    <input name="PW" value="stuff"/>
</form>

设置该值并不真正有用,因为用户仍然可以自己清理输入字段。

3 个答案:

答案 0 :(得分:2)

在纯HTML中无法这样做。即使您使用JS来设置默认值,也可以拦截和修改HTTP请求。

永远不要相信输入值。你不能假设他们的价值观。

答案 1 :(得分:1)

没有。不是没有JavaScript。 ......但是使用JavaScript会很容易。不是我提倡内联脚本,而是如何:

<input name="ID" value="stuff" onBlur="this.value=this.value==''
         ? 'default' 
         : this.value;" />

您看到的Javascript是一个简单的三元运算符,遵循以下模式:

myVar = condition ? valueIfTrue : valueIfFalse;

所以它检查输入是否为空白。如果是,请将其设置为默认值;如果没有,那就让它成为。

答案 2 :(得分:1)

您应该简单地强制执行服务器端的默认值。否则,用户将始终能够绊倒您。您可以使用javascript来减少发生这种情况的可能性,但javascript将始终向用户公开。 Html没有这方面的方法,即使我错了,它确实存在,或将来也是如此 - 这样的事情也暴露给用户。

您正在谈论使用strtok。我建议简单地打破两次令牌化。一次为&,然后再在=的每个结果中(显然,如果每对的第二个结果为空或null,则替换默认值)。否则,请自行将其标记,仍在服务器上。