Forum Moderators: open

Message Too Old, No Replies

javascript function failing

         

jason_m

9:13 pm on May 20, 2010 (gmt 0)

10+ Year Member



Any help would be largely appreciated! Not sure why exactly it is failing.

Thanks!

function AddAudio()
{
var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
var string_length = 10;
var randomstring = '';
for (var i=0; i < string_length; i++) {
var rnum = Math.floor(Math.random() * chars.length);
randomstring += chars.substring(rnum,rnum+1);
}


var MyElement = document.getElementById("entry");
MyElement.value += '<p id="audioplayer_'+randomstring+'">Alternative content</p>';
MyElement.value += '<script type="text/javascript">\n';
MyElement.value +='AudioPlayer.embed("audioplayer_'+randomstring+'", { \n';
MyElement.value +='soundFile: "http://yoursite.com/path/to/mp3_file.mp3",\n';
MyElement.value +='titles: "Title",\n';
MyElement.value +='artists: "Artist name",\n';
MyElement.value +='autostart: "no"\n';
MyElement.value +='});\n';
MyElement.value +='</script>\n';


return true;
}

TheMadScientist

9:29 pm on May 20, 2010 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



What do you mean by failing?

Does it have to do with Math.random() generating a number between 0 and 1?
IWO: 0.1927424829178532450 (I don't remember the exact length off the top of my head, but it's a decimal between 0 and 1 that's generated.)

jason_m

9:33 pm on May 20, 2010 (gmt 0)

10+ Year Member



hm, well it is difficult because the only insight i have is that it is not working with this new math snippet.

it works without the math snippet.

eg

does not work like this:
function AddAudio()
{
var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
var string_length = 10;
var randomstring = '';
for (var i=0; i < string_length; i++) {
var rnum = Math.floor(Math.random() * chars.length);
randomstring += chars.substring(rnum,rnum+1);
}


var MyElement = document.getElementById("entry");
MyElement.value += '<p id="audioplayer_'+randomstring+'">Alternative content</p>';
MyElement.value += '<script type="text/javascript">\n';
MyElement.value +='AudioPlayer.embed("audioplayer_'+randomstring+'", { \n';
MyElement.value +='soundFile: "http://yoursite.com/path/to/mp3_file.mp3",\n';
MyElement.value +='titles: "Title",\n';
MyElement.value +='artists: "Artist name",\n';
MyElement.value +='autostart: "no"\n';
MyElement.value +='});\n';
MyElement.value +='</script>\n';


return true;
}


but works like this


function AddAudio()
{

randomstring='blahblah';

var MyElement = document.getElementById("entry");
MyElement.value += '<p id="audioplayer_'+randomstring+'">Alternative content</p>';
MyElement.value += '<script type="text/javascript">\n';
MyElement.value +='AudioPlayer.embed("audioplayer_'+randomstring+'", { \n';
MyElement.value +='soundFile: "http://yoursite.com/path/to/mp3_file.mp3",\n';
MyElement.value +='titles: "Title",\n';
MyElement.value +='artists: "Artist name",\n';
MyElement.value +='autostart: "no"\n';
MyElement.value +='});\n';
MyElement.value +='</script>\n';


return true;
}

jason_m

9:37 pm on May 20, 2010 (gmt 0)

10+ Year Member



note: if there is some sort of compiler or some way i can gain insight into why/how my javascript is failing please help me realize this.

thanks!

jason_m

9:44 pm on May 20, 2010 (gmt 0)

10+ Year Member



if you move the rnum declration outside of the loop it works perfectly.


function AddAudio()
{


var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
var string_length = 10;
var randomstring = '';
var rnum=0;
for (var i=0; i < string_length; i++) {
rnum = Math.floor(Math.random() * chars.length);
randomstring += chars.substring(rnum,rnum+1);
}




var MyElement = document.getElementById("entry");
MyElement.value += '<p id="audioplayer_'+randomstring+'">Alternative content</p>';
MyElement.value += '<script type="text/javascript">\n';
MyElement.value +='AudioPlayer.embed("audioplayer_'+randomstring+'", { \n';
MyElement.value +='soundFile: "http://yoursite.com/path/to/mp3_file.mp3",\n';
MyElement.value +='titles: "Title",\n';
MyElement.value +='artists: "Artist name",\n';
MyElement.value +='autostart: "no"\n';
MyElement.value +='});\n';
MyElement.value +='</script>\n';


return true;
}

whoisgregg

9:45 pm on May 20, 2010 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Are there any error messages thrown by the browser? Perhaps a Firefox plugin like Firebug will give additional insight into the error?