1

我对JS有基本的了解。我正在尝试使下面的两个功能一起工作,但我找不到解决方案。一个或另一个起作用,但不是两者一起起作用。

<script>
function random_string(size){
var str = "";
for (var i = 0; i < size; i++){
    str += random_character();
}
return str;
}
function random_character() {
var chars = "0123456789abcdefghijklmnopqurstuvwxyzABCDEFGHIJKLMNOPQURSTUVWXYZ";
return chars.substr( Math.floor(Math.random() * 62), 1);
}
window.onload = function () {
var partnerurl = document.getElementById('field1');
              uniqueid = document.getElementById('field2');
              uniqueid.value = random_string(15);

            partnerurl.value = "www.website.com"+uniqueid.value


};
</script>


<script>
var defaultHiddenFieldNameValue = "";
function getQueryStringParamValue(strQStrParam) {
var strURL = document.location.href;
var strQStrParamValue = "";
if (strURL.indexOf('?') != -1)
{
strQStrParamValue = strURL.substr(strURL.indexOf('?') + 1);
if (strQStrParamValue.indexOf(strQStrParam) != -1)
{
strQStrParamValue = strQStrParamValue.substr(strQStrParamValue.indexOf(strQStrParam));
strQStrParamValue = strQStrParamValue.substr(strQStrParamValue.indexOf('=') + 1);
if (strQStrParamValue.indexOf('&') != -1)
strQStrParamValue = strQStrParamValue.substr(0, strQStrParamValue.indexOf('&'));
return strQStrParamValue;
}else{
strQStrParamValue = defaultHiddenFieldNameValue;
return strQStrParamValue;
}
}else{
strQStrParamValue = defaultHiddenFieldNameValue;
return strQStrParamValue;
}
}
// Form name goes here
var form = "formname";
function setCampaign(){
var elqForm = document.forms[form];
//repeat for each field to populate
elqForm.elements['src'].value = getQueryStringParamValue('src');
}
window.onload = setCampaign;
</script>

非常感谢您的帮助!

干杯,

外汇

4

2 回答 2

0

您的随机字符串函数工作正常,它只是让window.onload我遇到问题的触发。

这是您的随机字符串正常工作的演示:http: //jsfiddle.net/Jimmery/tv87X/

我建议在您的 HTML 中使用这一行加载 jQuery:

<script src="ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>

然后使用这个:

$(document).ready(function(){
    var partnerurl = $('field1');
    var uniqueid = $('field2');
    uniqueid.val(random_string(15));
    partnerurl.val("www.website.com/"+uniqueid.val());
};
于 2013-08-29T14:56:23.427 回答
0

在您的代码示例中,您在 onload 函数的最后一行缺少分号。

我也没有看到你声明 uniqueid。

于 2013-08-29T14:35:07.033 回答