在页面加载时,我希望jquery将UUID方法作为值加载到UUID字段,以便我看到它作为提交的参数传递。 This和SO post有所帮助,但我仍然没有到达那里......
<FORM ACTION="urlAuction.html" METHOD=GET>
<INPUT TYPE=TEXT NAME="url">
<INPUT id="uuid" TYPE=TEXT NAME="uuid" VALUE="" >
<INPUT TYPE=SUBMIT VALUE=Submit>
</FORM>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
var $uuid = $('#uuid');
$uuid.val(GUID());
});
function GUID ()
{
'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
return v.toString(16);
});
}
</script>
答案 0 :(得分:1)
您的GUID函数缺少return
来返回它为您生成的值:
function GUID ()
{
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c)
{
var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
return v.toString(16);
});
}
看起来它返回格式化大括号的方式,但实际上return v.toString(16)
属于replace
使用的匿名回调函数,用随机的十六进制数字填充每个数字。 / p>