Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法使两个简单的JS代码同时工作_Javascript_Function_Onload - Fatal编程技术网

Javascript 无法使两个简单的JS代码同时工作

Javascript 无法使两个简单的JS代码同时工作,javascript,function,onload,Javascript,Function,Onload,我有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 =

我有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>
非常感谢您的帮助

干杯


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


我也没有看到您声明uniqueid。

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

以下是随机字符串工作正常的示例:

我建议在HTML中加载jQuery时使用以下行:

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

你看到了什么错误?没有,我只有第二个代码来填充src字段,但是第一个没有被触发。你能把HTML添加到问题中吗?或者更好的是,您可以创建一个JSFIDLE吗?作为旁注,这是一些可怕的HTML。你不使用CSS样式表而不是所有的内联样式有什么特别的原因吗?谢谢你的回复。每个代码都可以单独工作。当我把二者放在一起时,我只有第二个有效。你添加分号并检查是否有用吗?如果脚本由于缺少分号而出现异常,某些解释器将不会继续执行脚本。这可能意味着它在到达脚本的第二部分之前停止。也要尝试声明uniqueid。最好不要把这些事情留给口译员。
$(document).ready(function(){
    var partnerurl = $('field1');
    var uniqueid = $('field2');
    uniqueid.val(random_string(15));
    partnerurl.val("www.website.com/"+uniqueid.val());
};