We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 42112
    • 1 Posts
    Hi

    First of all, sorry if this has been answered somewhere. I have looked everywhere for 2-3 hours and haven't find an answer.
    I'm creating a site and some of the users will be people old enough to not have and not want an email address. I noticed an email address is needed to send a comment through Quip.

    Here's where I need help. I need to either set email as not mandatory OR set a default email that points to a non-existing address on the domain.
    I went through the Quip reply snippet and added some code to check if the posted field is empty and edit accordingly, but no luck.
    Where should I be looking at to make this work? I thought about adding it to the template that creates the form, but I don't know if modx tolerates php in those templates and that way I don't know if I'd be destroying the ability to pull user data from those logged in to the manager back end.

    Hope I'm making any sense.
      • 42830
      • 5 Posts
      Hi,

      I know it's an old post but i struggled a few hours with the same problem and didn't found a real solution to make the mail input optional.
      For now I'm using a little turnaround. Probably not the smartest way but maybe it'll help.

      <script type="text/javascript">
          function addText() {
              var input = document.getElementById('quip-comment-email-qcom');        
              var mail = $('#quip-comment-email-qcom').val();
      	    if(mail == "" ) {
      	         input.value = 'no mail' ;
      	    }      
          }
      </script>
      
      <form id="quip-add-comment-[[+idprefix]]" action="[[+url]]#quip-comment-preview-box-[[+idprefix]]" method="post" onsubmit="addText()">
      ...
      
        • 49636
        • 2 Posts
        An easier and JavaScript-free solution is to pass an hidden input field for the e-mail.

        In template tplAddComment:

        Uncomment the default label and input field for e-mail..
        <p class="quip-fld">
        <label for="quip-comment-email-[[+idprefix]]" class="required">[[%quip.email]] <span class="quip-error">[[+error.email]]</span></label>
        <input type="text" name="email" id="quip-comment-email-[[+idprefix]]" value="[[+email]]" required="required" placeholder="Ihre E-Mail-Adresse" />
        </p>
        


        ..and add an hidden input field
        …
        <input type="hidden" name="auth_nonce" value="[[+auth_nonce]]" />
        <input type="hidden" name="preview_mode" value="[[+preview_mode]]" />
        [[- E-MAIL HERE]]
        <input type="hidden" name="email" value="[email protected]" />
        


        Regards
        Sebastian
          • 42830
          • 5 Posts
          Thank you Sebastian. Your way is good, if i don't need the mail field at all, but for my project i need the email field to be optional. I think it wouldn't work then with the hidden field.
            • 49636
            • 2 Posts
            Sorry, I didn't get this!
            You're right, desper.
            With my posted solution, users are not able to submit there e-mail-address.