php - Submit Only One of Two toggling forms -


i have 2 different forms being included in php file. visibility based on onclick js toggle function. toggle works great. if fill 1 of forms out , click respective submit button, sent same page rather action.php file have specifed in broswer:

http://localhost/?user_temp=f&pass_temp1=f&pass_temp2=ff&email_temp=f&answer1=3&submitbtn=signup+now 

and javascript error: "typeerror undefined document.hform.ssecureuser

both forms have own javascripts md5 data , ssecureuser comes signup form.

interestingly, if remove 1 of inlcude forms leaving submit form lets say, work. seems these forms' javascript clashing 1 :/ ...

i tried this didnt work me since each 1 of forms using java script. please , in advance!!!... let me know if see of forms, javascript, or php files...

toggle code:

<div> <a href="/forms/login-form.php" onclick="toggle_visibility('login-div'); return false;">login</a>     <div id="login-div" style="display:none">         <?php include($_server['document_root'].'/forms/login-form.php');?>              </div> <a href="/forms/signup-form.php" onclick="toggle_visibility('signup-div'); return false;">sign up</a>     <div id="signup-div" style="display:none">         <?php include($_server['document_root'].'/forms/signup-form.php'); ?>                </div>         <script type="text/javascript">             <!--                 function toggle_visibility(id) {                         var e = document.getelementbyid(id);                        if(e.style.display == 'block'){                           e.style.display = 'none';                           }                        else{                           e.style.display = 'block';                           }                 }             //-->         </script>        </div> 

login form:

<div id="hasjavascript1" style="display:none">     <form name="login">         username:         <input type="text" name="user_temp" size=32 maxlength=32><br>         password:         <input type="password" name="pass_temp" size=32 maxlength=32><br>         <input onclick="passresponse(); return false;" type="submit" name="submitbtn" value="login now">     </form>      <form action="/action/login-action.php" method="post" name="hform">         <input type="hidden" name="secureuser">         <input type="hidden" name="securepass">     </form> </div>  <script language="javascript" src="/js/md5.js"></script> <script language="javascript"> <!-- document.getelementbyid('hasjavascript1').style.display = 'block';  function passresponse() { document.hform.secureuser.value = md5(document.login.user_temp.value); document.hform.securepass.value = md5(document.login.pass_temp.value); document.login.pass_temp.value = ""; document.hform.submit();  } // --> </script> 

signup form:

<?php include ($_server['document_root'].'/functions/functions.php');?> <div id="hasjavascript" style="display:none"> <form name="signup">     <label>username</label> <input type="text" name="user_temp" size=32 maxlength=32><span>alphanumeric, no spaces</span><br>     <label>type password</label> <input type="password" name="pass_temp1" size=32 maxlength=32><span>alphanumeric, 8-12 long</span><br>     <label>retype password</label> <input type="password" name="pass_temp2" size=32 maxlength=32><br>     <label>email</label> <input type="text" name="email_temp" size=32 maxlength=32><br>     <label> is: </label><?php $captchaarray = mycaptcha(); echo $captchaarray['equation'];?><br>     <label>answer</label><input type="text" name="answer1">     <input onclick="passresponse1(); return false;" type="submit" name="submitbtn" value="signup now"> </form>  <form action="/action/signup-action.php" method="post" name="signup-hform">         <input type="hidden" name="ssecureuser">         <input type="hidden" name="ssecurepass1">         <input type="hidden" name="ssecurepass2">         <input type="hidden" name="secureemail">         <input type="hidden" name="answer2">         <input type="hidden" name="checker" value=".<?php echo $captchaarray['answer'];?> ."> </form> </div>   <script language="javascript" src="/js/md5.js"></script>     <script language="javascript"> <!-- document.getelementbyid('hasjavascript').style.display = 'block';  function passresponse1() { document.signup-hform.ssecureuser.value = md5(document.signup.user_temp.value); document.signup-hform.ssecurepass1.value = md5(document.signup.pass_temp1.value); document.signup.pass_temp1.value = ""; document.signup-hform.ssecurepass2.value = md5(document.signup.pass_temp2.value); document.signup.pass_temp2.value = ""; document.signup-hform.secureemail.value = md5(document.signup.email_temp.value); document.signup-hform.answer2.value = document.signup.answer1.value; document.signup.answer1.value = ""; document.signup-hform.submit();  } // --> </script> 

one problem see not specify value attributes or values in hidden fields:

<input type="hidden" name="ssecureuser"> <input type="hidden" name="ssecurepass1"> <input type="hidden" name="ssecurepass2"> <input type="hidden" name="secureemail"> <input type="hidden" name="answer2"> 

but in js, you're trying access value attribute.

document.hform.ssecureuser.value = ... 

try adding values those. give hidden forms ids , use document.getelementbyid() syntax instead of document.hform.ssecureuser syntax.

as far form submits, suppressing action of first form, trying fill in values hidden fields in second form , submitting that. both of scripts use same name forms "hform". need unique. give them unique id.

another possible issue line:

<input type="hidden" name="checker" value=".<?php echo $captchaarray['answer'];?> ."> 

you're using . string concatenation, it's not in echo/print statement. think it's supposed be:

<input type="hidden" name="checker" value="<?php echo $captchaarray['answer'];?>"> 

Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

java - Using an Integer ArrayList in Android -