2011-12-18 59 views
0

我有一个即时消息工作的表单,即时消息尝试重置字段,当从下拉列表中选择无值时。 我的表单布局如下: [下拉 - 名称:gasoiluser - 值= YES/NO] [文本形式字段,姓名= gasoilmargin]当下拉列表设置为0.00时,将表格字段值设置为0.00

所以有人来临时,从下拉是选择下,输入一个值进入文本框并点击提交。如果他们稍后再回来并将gasoiluser下拉菜单设置为no,并在文本框中点击提交值,我希望在下拉菜单中选择no时,表单会将文本字段的值重置为0.00。

我试过用php做这个没有太大的成功,所以我不确定是否有一个更容易更优雅的解决方案与JavaScript?

感谢:-)

的代码我已经试过是:

<?php 
$query = mysql_query("SELECT * FROM hqfjt_chronoforms_data_dashboard WHERE cf_id = '1'") or die(mysql_error()); 
$oilprice = mysql_fetch_object($query); 

$oilpricederv = $oilprice->oilpricederv; 

$dervmargin = $form->data['dervmargin']; 
$dervuser = $form->data['dervuser']; 

if ($dervuser=="" or $dervuser=="no") 
    $calculateddervprice = '0.00'; 
else 
    $calculateddervprice = $dervmargin + $oilpricederv; 
?> 
+0

告诉我们你试过的代码。 – 2011-12-18 18:33:51

+0

如果您使用jQuery或其他JS框架,您可以将侦听器附加到您的选择: $('select#gasoiluser')。change(function(e){if(this).val ()=='NO'){ $('input#yourTextBox')。val(''); } } – lucifurious 2011-12-18 18:35:07

+0

嗯,无论您在这里可能看到的任何答案,总是验证PHP端的表单。 – 2011-12-18 18:35:41

回答

1

Here是JavaScript版本。

但确保dbl检查与php incase浏览器弄虚作假。这里是一个示例的PHP代码:

$dropMenu = $_POST["gasoiluser"]; 
$textBox = (($dropMenu == "no")?"0.00":$_POST["gasoilmargin"]); 
// Do stuff w/ variables here (like mysql) 
+0

我试过这个,但它没有做任何事情,它只是留下了利润率值:function gasoiluser(obj) (obj.value ==“no”){ document.getElementById(“gasoilmargin”).value =“0.00”; } } – 2011-12-18 20:56:19

+0

你看到我的jsfiddle吗? – Tomas 2011-12-18 21:07:19

+0

感谢您的支持,它的功能非常出色!,我第一次尝试使其工作并没有看到上面的链接使用php时犯了一个错误。 – 2011-12-18 21:07:47

相关问题