Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

javascript, disable form input and php

Posted on 2008-10-07
9
Medium Priority
?
1,077 Views
Last Modified: 2013-12-12
Hi,
hielo kindly suplied me with a cute little Javascript code for disabling form input after a given time.
The code works perfectly on its own when written in the html section.
Here is the code:
========================
<script type="text/javascript">
      window.onload=init;
      function init(){
            var minutes=15;
            setTimeout("nextPage()", 1000*60*minutes );
      }
      function nextPage(){
            //assuming you have <form id="theForm"...>
            var f = document.getElementById("theForm");
            for( var i=0; i < f.elements.length; ++i)
            {
                  f.elements[i].disabled=true;
            }
            //if you want to auto-submit the form, uncomment the next line
            //f.submit();
      }
</script>
=======================================

However, I need to be able run the php code on the page at form timeout. The php code, without the form  runs without a problem until I insert the above script.

With the timeout script, the form submit button is also disabled and therefore the php code does not run.

Where and How should I insert this timeout/input disable script, so that I still have the submit button of the form available, which runs the php code.
0
Comment
Question by:Erikal
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 4
9 Comments
 
LVL 82

Expert Comment

by:hielo
ID: 22659262
>> I need to be able run the php code on the page at form timeout
The php code will run on the server BEFORE you actually send that javascript to the browser. The browser does NOT execute php. So that javascript will not interfere with php. You may have some syntax problem on your file as a whole that is preventing everything else from working as expected.
0
 

Author Comment

by:Erikal
ID: 22659322
The part of the php code runs after the user clicks the submit button of the form and produces an alert box, which in turn directs the user to Maths page.
When this javascript form reaches timeout, it also freezes the submit button. I tried auto submit as you suggested, but still no progress on the rest of the php execution.

This is the assessment test you were very kind to help me with and as you remember we got it to work perfectly.
I am not sure what I am doing wrong.
Is there a way to exclude the form submit button from the freeze at timeout, so that it is still active?
0
 
LVL 82

Expert Comment

by:hielo
ID: 22659406
>>Is there a way to exclude the form submit button
Yes:

...for( var i=0; i < f.elements.length; ++i)
            { if( String(f.elements[i].type).toLowerCase() != "submit" )
                  f.elements[i].disabled=true;
            }
...

Open in new window

0
Build and deliver software with DevOps

A digital transformation requires faster time to market, shorter software development lifecycles, and the ability to adapt rapidly to changing customer demands. DevOps provides the solution.

 

Author Comment

by:Erikal
ID: 22659672
I tried it, but disabling feature stop working for all the form input fields as well and not only the submit button.
0
 
LVL 82

Accepted Solution

by:
hielo earned 2000 total points
ID: 22659817
>>disabling feature stop working for all the form input fields
??? The attached example works. Not sure what markup you have
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/loose.dtd">
 
<html>
<head>
<title></title>
<script type="text/javascript">
      window.onload=init;
      function init(){
            var minutes=(2/60);
            setTimeout("nextPage()", 1000*60*minutes );
      }
      function nextPage(){
            //assuming you have <form id="theForm"...>
            var f = document.getElementById("theForm");
            for( var i=0; i < f.elements.length; ++i)
            {
		  	if( String(f.elements[i].type).toLowerCase() != "submit" )
                  f.elements[i].disabled=true;
            }
            //if you want to auto-submit the form, uncomment the next line
            //f.submit();
      }
</script>
 
</head>
<body>
<form id="theForm">
	<input type="text"/>
	<input type="text"/>
	<input type="text"/>
 
	<input type="submit"/>
	
</form>
</body>
</html>

Open in new window

0
 

Author Comment

by:Erikal
ID: 22660304
This may be a very stupid question, but does the submit button name has a bearing on this. My submit button is named is 'Submit_Eng1'.
0
 

Author Closing Comment

by:Erikal
ID: 31503885
Hielo,
many thanks it is working.
I should have just copied your code instead of keying it in. I apparently, I typed the S of the String in lower case.

Great stuff.
0
 
LVL 82

Expert Comment

by:hielo
ID: 22669264
>> does the submit button name has a bearing on this
No.
0
 

Expert Comment

by:kalloo
ID: 23753598
Hey guys !! this form doesnt move any value !!
ex. after submitting this form .. i put this code
<?php
echo $_POST['day'];
echo $_POST['month'];
echo $_POST['year'];
?>
and i see nothing !! No result at all ! tht means the code doesnt carry any value at all
Please i need help with this !
0

Featured Post

The top UI technologies you need to be aware of

An important part of the job as a front-end developer is to stay up to date and in contact with new tools, trends and workflows. That’s why you cannot miss this upcoming webinar to explore the latest trends in UI technologies!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Boost your ability to deliver ambitious and competitive web apps by choosing the right JavaScript framework to best suit your project’s needs.
This article discusses how to implement server side field validation and display customized error messages to the client.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

688 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question