在html输入字段中使用返回值函数

时间:2013-10-28 22:37:40

标签: javascript html

用户在输入字段中输入值后,我有一个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>

2 个答案:

答案 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>