1

私はJSの基本的な知識を持っています。以下の 2 つの関数を連携させようとしていますが、解決策が見つかりません。どちらか一方が機能しますが、2 つが一緒に機能するわけではありません。

<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>

ご協力いただきありがとうございます。

乾杯、

FX

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 に答える