How do I convert some ugly inline javascript into a function?

Posted by Taylor on Stack Overflow See other posts from Stack Overflow or by Taylor
Published on 2010-04-21T21:19:11Z Indexed on 2010/04/21 21:23 UTC
Read the original article Hit count: 690

I've got a form with various inputs that by default have no value. When a user changes one or more of the inputs all values including the blank ones are used in the URL GET string when submitted.

So to clean it up I've got some javascript that removes the inputs before submission. It works well enough but I was wondering how to put this in a js function or tidy it up. Seems a bit messy to have it all clumped in to an onclick. Plus i'm going to be adding more so there will be quite a few.

Here's the relevant code. There are 3 seperate lines for 3 seperate inputs. The first part of the line has a value that refers to the inputs ID ("mf","cf","bf","pf") and the second part of the line refers to the parent div ("dmf","dcf", etc).

The first part is an example of the input structure...

echo "<div id='dmf'><select id='mf' name='mFilter'>";

This part is the submit and js...

     echo "<input type='submit' value='Apply' onclick='javascript: if (document.getElementById(\"mf\").value==\"\") { document.getElementById(\"dmf\").innerHTML=\"\"; }
if (document.getElementById(\"cf\").value==\"\") { document.getElementById(\"dcf\").innerHTML=\"\"; }
if (document.getElementById(\"bf\").value==\"\") { document.getElementById(\"dbf\").innerHTML=\"\"; }
if (document.getElementById(\"pf\").value==\"\") { document.getElementById(\"dpf\").innerHTML=\"\"; }
' />";

I have pretty much zero javascript knowledge so help turning this in to a neater function or similar would be much appreciated.

© Stack Overflow or respective owner

Related posts about JavaScript

Related posts about javascript-execution