用户在输入字段中输入值后,我有一个onblur函数返回输入字段的正确布局(在右边的地方设置破折号)。发送表单后,输入字段为空。
如何在发送表单后设置值?
function Licenseplate(sKenteken){
sKenteken=sKenteken.toUpperCase().replace(/[^0-9A-Z]/g,"");
var regexp1=/[A-Z]\d|\d[A-Z]/;
var regexp2=/[A-Z]{4}|\d{4}/;
var aMatches;
while(aMatches=sKenteken.match(regexp1))
sKenteken=sKenteken.replace(new RegExp(aMatches[0]),
aMatches[0].charAt(0)+"-"+aMatches[0].charAt(1))
while(aMatches=sKenteken.match(regexp2))
sKenteken=sKenteken.replace(new RegExp(aMatches[0]),
aMatches[0].charAt(0)+aMatches[0].charAt(1)+"-"+aMatches[0].charAt(2)+aMatches[0].charAt(3))
return sKenteken;}
这是我的表格。
<form action="/?" method="POST" enctype="application/x-www-form-urlencoded" name="kenteken" id="kentekenForm">
<input name="kenteken" type="text" value="" size="8" maxlength="8" id="kenteken" onblur="this.value=Licenseplate(this.value)"/>
<input id="subHere" type="submit" value="Submit" />
</form>
答案 0 :(得分:0)
不要使用替换:
sKenteken=sKenteken.toUpperCase().replace(/[^0-9A-Z]/g,"");
答案 1 :(得分:0)
表单在发送到服务器后为空是正常的行为。如果您希望表格填写车牌,请在脚本中在处理表格后在字段中插入车牌。
PHP中的一个例子:
<?php
// Process the form
...
// Output the form
$kenteken = ( isset( $_POST['kenteken'] ) ? $_POST['kenteken'] : "";
?>
<form ...>
<input name="kenteken" type="text" value="<?php echo $kenteken ?>" size="8" maxlength="8" id="kenteken" onblur="this.value=Licenseplate(this.value)"/>
<input id="subHere" type="submit" value="Submit" />
</form>