Skip to content
  • Recent
  • Tags
  • Popular
  • Users
  • Search
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

Lay Theme Forum

  1. Home
  2. General Discussion
  3. Costumized PayPal selection menu

Costumized PayPal selection menu

Scheduled Pinned Locked Moved General Discussion
paypalhtml editor
4 Posts 2 Posters 577 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P
    P
    pat.rick
    wrote on last edited by
    #1

    I’ve got an issue with a customized paypal button and the therefore modified select section (dropdownmenu). Unfortunately I’m not a coder. That’s why I have troubles figuring out the problem.

    The problem is that the code is not displayed right. When I take a look at the code saved as a .html-file it looks perfect in the browser, but as soon as I paste the html-code in Lay Theme the text as well as the spacing from the dropdownmenu to the button disappears.

    This is the code I copied into Lay Theme:

    <html>
    <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
    /the container must be positioned relative:/
    .custom-select {
    position: relative;
    font-family: Helvetica;
    }

    .custom-select select {
    display: none; /hide original SELECT element:/
    }

    .select-selected {
    background-color: #fff;
    }

    /point the arrow upwards when the select box is open (active):
    .select-selected.select-arrow-active:after {
    border-color: transparent transparent #fff transparent;
    top: 7px;
    }
    /

    /style the items (options), including the selected item:/
    .select-items div,.select-selected {
    color: #000;
    padding: 8px 16px;
    border: 1px solid transparent;
    border-color: transparent transparent rgba(0, 0, 0, 0.1) transparent;
    cursor: pointer;
    user-select: none;
    }

    /style items (options):/
    .select-items {
    position: absolute;
    background-color: #fff;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 99;
    }

    /hide the items when the select box is closed:/
    .select-hide {
    display: none;
    }

    .select-items div:hover, .same-as-selected {
    background-color: rgba(0, 0, 0, 0.1);
    }
    </style>
    </head>

    <body>

    <form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
    <input type="hidden" name="cmd" value="_s-xclick">
    <input type="hidden" name="hosted_button_id" value="1234567890">
    <table>
    <tr><td>
    <input type="hidden" name="on0" value="order"></td></tr><tr><td>
    <div class="custom-select" style="width:200px;">
    <select name="os0">
    <option value="size">select size</option>
    <option value="small">small | 90 EUR</option>
    <option value="medium">medium | 90 EUR</option>
    <option value="large">large | 90 EUR</option>
    </select> </td></tr>
    </table>
    <br>
    <br>
    <input type="hidden" name="currency_code" value="EUR">
    <input type="image" src="https://www.paypalobjects.com/de_DE/DE/i/btn/btn_paynow_SM.gif" border="0" name="submit" alt="Jetzt einfach, schnell und sicher online bezahlen – mit PayPal.">
    <img style="width: 1px; height: 1px;" alt="" border="0" src="https://www.paypalobjects.com/de_DE/i/scr/pixel.gif" width="1" height="1">
    </form>

    <script>
    var x, i, j, selElmnt, a, b, c;
    /look for any elements with the class "custom-select":/
    x = document.getElementsByClassName("custom-select");
    for (i = 0; i < x.length; i++) {
    selElmnt = x[i].getElementsByTagName("select")[0];
    /for each element, create a new DIV that will act as the selected item:/
    a = document.createElement("DIV");
    a.setAttribute("class", "select-selected");
    a.innerHTML = selElmnt.options[selElmnt.selectedIndex].innerHTML;
    x[i].appendChild(a);
    /for each element, create a new DIV that will contain the option list:/
    b = document.createElement("DIV");
    b.setAttribute("class", "select-items select-hide");
    for (j = 1; j < selElmnt.length; j++) {
    /for each option in the original select element,
    create a new DIV that will act as an option item:
    /
    c = document.createElement("DIV");
    c.innerHTML = selElmnt.options[j].innerHTML;
    c.addEventListener("click", function(e) {
    /when an item is clicked, update the original select box,
    and the selected item:
    /
    var y, i, k, s, h;
    s = this.parentNode.parentNode.getElementsByTagName("select")[0];
    h = this.parentNode.previousSibling;
    for (i = 0; i < s.length; i++) {
    if (s.options[i].innerHTML == this.innerHTML) {
    s.selectedIndex = i;
    h.innerHTML = this.innerHTML;
    y = this.parentNode.getElementsByClassName("same-as-selected");
    for (k = 0; k < y.length; k++) {
    y[k].removeAttribute("class");
    }
    this.setAttribute("class", "same-as-selected");
    break;
    }
    }
    h.click();
    });
    b.appendChild(c);
    }
    x[i].appendChild(b);
    a.addEventListener("click", function(e) {
    /when the select box is clicked, close any other select boxes,
    and open/close the current select box:
    /
    e.stopPropagation();
    closeAllSelect(this);
    this.nextSibling.classList.toggle("select-hide");
    this.classList.toggle("select-arrow-active");
    });
    }
    function closeAllSelect(elmnt) {
    /a function that will close all select boxes in the document,
    except the current select box:
    /
    var x, y, i, arrNo = [];
    x = document.getElementsByClassName("select-items");
    y = document.getElementsByClassName("select-selected");
    for (i = 0; i < y.length; i++) {
    if (elmnt == y[i]) {
    arrNo.push(i)
    } else {
    y[i].classList.remove("select-arrow-active");
    }
    }
    for (i = 0; i < x.length; i++) {
    if (arrNo.indexOf(i)) {
    x[i].classList.add("select-hide");
    }
    }
    }
    /if the user clicks anywhere outside the select box,
    then close all select boxes:
    /
    document.addEventListener("click", closeAllSelect);
    </script>

    </body>
    </html>

    1 Reply Last reply
    0
    • mariusjopenM
      mariusjopenM
      mariusjopen
      Global Moderator
      wrote on last edited by
      #2

      Dear @pat-rick
      Because LayTheme is written as a single-page Javascript application, some things work differently.
      To use other JS code, please follow the documentary: http://laytheme.com/documentation.html#custom-javascript
      Some effects might not work or need adjustment.
      Best!
      Marius

      www.mariusjopen.world

      1 Reply Last reply
      0
      • P
        P
        pat.rick
        wrote on last edited by
        #3

        Thank you Marius. That was helpful!

        1 Reply Last reply
        0
        • mariusjopenM
          mariusjopenM
          mariusjopen
          Global Moderator
          wrote on last edited by
          #4

          Dear @pat-rick
          Perfect! Glad to hear!
          Many wishes!
          Marius

          www.mariusjopen.world

          1 Reply Last reply
          0

          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

          With your input, this post could be even better 💗

          Register Login
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          Online Users
          Forgot your key, lost your files, need a previous Lay Theme or Addon version? Go to www.laykeymanager.com
          laytheme.com
          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Recent
          • Tags
          • Popular
          • Users
          • Search