• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

jscript problem

Collapse
X
  •  
  • Filter
  • Time
  • Show
Clear All
new posts

    jscript problem

    Want company and other items in a single customer invoice, so trying to make an adjusted copy of our completed company invoice in a new window that does not save to our database. This jscript works fine:

    function copy()
    {
    var text = document.getElementById('copy').innerHTML;
    text = text.replace(/readonly/gi, '');
    text = text.replace(/hideit/gi, '');
    var html = "<html><head><link rel='stylesheet' type='text/css' href='invoice.css'></head><body>" + text + "</body></html>";
    var newWindow = window.open("","Test");
    newWindow .document.write(html);
    }

    I would like a bit of jscript in the new window to automatically update totals etc. when items are added but as soon as I put
    <script type='text/javascript' src='invoice.js'></script> in the above string it stops working. Is it due to </jscript> in the string?

    Any ideas? Ta.
    bloggoth

    If everything isn't black and white, I say, 'Why the hell not?'
    John Wayne (My guru, not to be confused with my beloved prophet Jeremy Clarkson)

    #2
    Escape the </script> tag, so something like this...


    Code:
    <!DOCTYPE html>
    <html>
    <body>
    
    <p>Click the button to open a new browser window.</p>
    
    <button onclick="myFunction()">Try it</button>
    
    <script>
    function myFunction() {
    var text = "This is the body";
    var html = "<html><head><link rel='stylesheet' type='text/css' href='invoice.css'/><script type='text/javascript' src='invoice.js'><\/script></head><body>" + text + "</body></html>";
    
    
    var newWindow = window.open("","Test");
    newWindow.document.write(html);
    
    }
    </script>
    
    </body>
    </html>

    Comment


      #3
      That sorted it! Thanks very much woohoo.

      So impossible to find answers for summit like this on Google as question too generic.
      bloggoth

      If everything isn't black and white, I say, 'Why the hell not?'
      John Wayne (My guru, not to be confused with my beloved prophet Jeremy Clarkson)

      Comment

      Working...
      X