PDA

View Full Version : using JavaScript with PHP to create a dynamic form.


lightnb
05-26-2006, 10:23 PM
I want to have an option (yes/no) drop down box, that when set to "no", hides two of the input fields on the form.

the input code is echoed by PHP though, and contains an if /else statement.


the code that needs to be hidden is:


if ($MFv){echo '<tr><td>Multiplier Factor (Verticle):</td><td><input type="text" name="MFv" value="'.$MFv.'"></td></tr>';
}else
{echo '<tr><td>Multiplier Factor (Verticle):</td><td><input type="text" name="MFv" value="'.htmlspecialchars($_POST['MFv']).'"></td></tr>';
}


I could hide it with a variable, but then they would have to click submit first, right? or is there another way? It needs to diapear (or reapear) as soon as the user chooses the first option.

any ideas?


thanks,

Nick

lightnb
05-30-2006, 02:40 AM
Here's what I'm trying:


echo '<head>';

if ($MFh){echo '
<script type="text/javascript">

function showinput(is_par) {
if (is_par == 1) {
document.getElementById("addfield").innerHTML = "<tr><td>Multiplier Factor (Horizontal):</td><td><input type="text" name="MFh" value="'.$MFh.'"></td></tr>";
} else if (is_par == 0) {
document.getElementById("addfield").innerHTML = "";
}
}';
echo '</script>';
}else
{echo '

<script type="text/javascript">

function showinput(is_par) {
if (is_par == 1) {
document.getElementById("addfield").innerHTML = "<tr><td>Multiplier Factor (Horizontal):</td><td><input type="text" name="MFh" value="'.htmlspecialchars($_POST['MFh']).'"></td></tr>";
} else if (is_par == 0) {
document.getElementById("addfield").innerHTML = "";
}
}
</script>';
}

echo '</head><body>';


My selection:

echo '

<select class="pulldown" name="is_par" id="is_par" onChange="javascript: showinput(document.getElementById(\'is_par\').sele ctedIndex)">
<option value="null" selected="selected">---</option>
<option value="no">No</option>
<option value="yes">Yes</option>
</select>';


and the Div tag where the new field should apear:

echo '<div id="addfield"></div>';


There's no Parse Errors, but the Javascript has no effect.

Zachery
05-30-2006, 04:06 AM
you mean javascript?

lightnb
05-30-2006, 04:35 AM
yes.

Silverslide
05-30-2006, 07:39 PM
I don't know Js but i think its something like this.
You just see what the value is document.formname.value=no
then you dont show the fields and else you do.

I said i dont know JS i dont know the syntax but it's not that hard, look it up on google under something like: javascript forms

lightnb
05-31-2006, 01:40 AM
Getting the JavaScript to work in a regular HTML document isn't the problem... I have that working. What I'm trying to do is integrate the JavaScript with my PHP code so that they work together.