0

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

2 回答 2

0

不要使用替换:

sKenteken=sKenteken.toUpperCase().replace(/[^0-9A-Z]/g,"");
于 2013-10-28T22:42:46.883 回答
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>
于 2013-10-28T22:43:25.583 回答