2012-09-04 30 views
0

我想改变这个代码通过从HTML表单和DropList到PHP文件中的变量...如何使用“获得”

<form action="search.php" method="get" name="form1" id="form1"> 
<select name="name"> 
    <option value="category">CATEGORY</option> 
    <option value="product">PRODUCT</option> 
</select> 
<input name="value" type="text" id="catprod" size="20" /> 

最后我想收到类型的一个链接.. 。

http://www.mysite.com/search.php?product=car

http://www.mysite.com/search.php?category=auto

取决于下拉列表中的哪个项目将选择一个客户。 “汽车”和“汽车”是来自客户的搜索请求,他们将输入。

+0

而你的问题是?您必须根据您的要求更改输入字段的名称(选择,输入)... – home

回答

1

我会用以下内容:

<html> 
    <head> 
     <script> 
      function redirect() { 
       window.location.href = 'http://www.mysite.com/search.php?'+document.form1.key.value+'='+document.form1.val.value; 
      } 
     </script> 
    </head> 
    <form name="form1" onsubmit="redirect(); return false;"> 
     <select name="key"> 
      <option value="category">CATEGORY</option> 
      <option value="product">PRODUCT</option> 
     </select> 
     <input name="val" type="text" id="catprod" /> 
    </form> 
</html> 

你的JavaScript和HTML主要分隔这种方式。

2

那么,有2种方法来做到这一点。

当de select被改变时,第一个是将文本字段的输入名称更改为正确的名称(类别或产品)。所以你可以制作一个

onChange="document.getElementById('catprod').name = this.value;" 

注意,在加载时你已经输入了正确的名字。在正常情况下,这将是“类别”(因为它被选为第一个)。

另一种选择是使2个输入字段1隐藏。并显示用户选择的字段。 (也用onchange,但后来使用隐藏和显示)。

无论如何,这两者都不是解决问题的最佳方法。最好的问题就是解决它在你的PHP脚本中。

0
<form action="search.php" method="get" name="form1" id="form1"> 
<select style="border:1px solid rgb(102,153,204);background-color:FFFFCC;height:20px;width:120px;" onfocus="this.style.background='white'" onblur="this.style.background='FFFFCC'" name="name" id="myselect"> 
           <option value="category">CATEGORY</option> 
           <option value="product">PRODUCT</option> 
          </select> 
<input name="value" type="text" id="catprod" style="border:1px solid rgb(102,153,204);background-color:FFFFCC;height:15px;width:200px;" onfocus="this.style.background='white'" onblur="this.style.background='FFFFCC'" size="20" /> 

<script> 
    var submitform = function() { 
    form1.submit(); 
    } 
    document.getElementById('myselect').onchange = submitform; 
</script> 

我强烈建议你使用的是和你的ID(和类),给出更有意义的名称不使用内联CSS。另外,避免使用内联JS。

脚本标记中的代码的作用是在更改select元素上的值时提交表单。由于您的表单使用方法“get”,因此您在提交表单时会使用这些类型的网址。

+0

谢谢!我用过你的代码。 – user922907

+0

你批准了上面的那个? :) – Claudiu