2013-12-13 23 views
-1

我有一个网页,只要在网页加载在输入栏中自动提交值“VAL”:HOWTO提交从列表中随机选择非重复的变量

<form method="post" action="website.com/xxxx"> 
<input type="text" name="t" style="width:250px" value="val"> 
<button type="submit"><p>Submit<img src="submit.png" style="width:32px;vertical-align:middle"></p></button> 
</form> 
<SCRIPT LANGUAGE="JavaScript">document.forms[0].submit();</SCRIPT> 

我如何让它自动替换“ val“与从列表中选择的非重复变量(一个txt文件或在html代码中)?例如,我想提交 val1,val2,val3等。每次加载页面时,都会从该列表中选择一个值,然后继续重新加载,直到提交所有值而不重复任何值。 另外,我将如何使它从像txt文件这样的外部来源检索值? 我该如何将值嵌入到html代码中,以便它不需要从文件中检索值?


编辑: 好吧,我发现,“由于安全限制,客户端脚本可能不会被允许访问用户的计算机超越了网页浏览器应用程序”,所以我想只嵌入值的列表进入html代码。如果您需要按顺序编号,可以考虑使用cookie

$("form > input[name='t']").val("something-"+Math.random()); 

+0

您可以[通过AJAX提交表单(http://stackoverflow.com/questions/1960240/jquery-ajax-submit-form),让您的列表,剩下的就是简单。 – iForests

+0

@iForests 嗨,你可以发布一个示例代码,使这项任务?我对html和javascript的知识有限。这是我第一次听说AJAX – jenny

回答

0

如果你使用jQuery,这会做(在脚本标签)。另外,如果你想肯定会发生两次没有价值,你可以使用当前毫秒:

function msec() {var w=new Date();var n=w.getTime();return n;} 
$("form > input[name='t']").val("something-"+msec()); 

希望这有助于。

0

首先,包括< head>和< /头之间的jQuery>。

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> 
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script> 

并声明您的列表。

arr = ['val1', 'val2', 'val3', 'val4', 'val5']; 

现在,提交表单时,我们通过AJAX($.post(...))提交。

$('form').on('submit', function(event) { 
    event.preventDefault(); 
    $('#t').val(arr.pop()); 
    $.post('xxxx.php', $(this).serialize()); 
}); 

你可以看到,值发送到服务器val5val4,... val1

试一下:http://jsfiddle.net/4McNm/