HTML / PHP多表单操作

时间:2014-04-16 11:40:05

标签: php html forms action onchange

我有一个包含2个选择框的表单,一个文本框和一个textarea。 当我加载此表单时,它从数据库中获取所有菜单项和语言项,并将它们插入到选择框中,然后从菜单项和语言中获取相应的内容。

 <form style="border: 1px solid black; " name="form" method="post" action="">
      Content selecteren om te wijzigen:
      <table>
        <tr>
          <td width="78">Menu item:</td>
          <td><select name="Menu" onchange="this.form.submit()">' . $this->MenuItems->render() . '</select></td>
        </tr><br>

        <tr>
           <td width="78">Taal:</td>
           <td><select name="Language" onchange="this.form.submit()">' . $this->LanguageItems->render() . '</select></td>
       </tr>

       <tr>
        <td>Menu Item:</td>
        <td width="78"><input name="MenuItemTextBox" type="text" id="MenuItemTextBox" value="' . $_POST['Menu'] . '"></td><br>
       </tr>

       <tr>
         <td>content</td>
         <td><textarea style="" Name="Content" id="NewContent" ROWS=10 COLS=50>' . $this->GetContent->render() . '</textarea></td>
       </tr>

        <tr>
          <td><input type="submit" name="Submit" value="Wijzigen"></td>
        </tr>
    </table>
</form>

当你从selectboxed中选择一个不同的值时,它会重新加载表单/页面并再次使用“this.form.submit()”在textare中显示正确的内容,并且它还会记住你在selectbox中选择的内容。

现在我想将此表单中的所有帖子提交到文件ChangeContent.php但是我无法在表单中使用action属性,否则当您从selectbox中选择一个新值时它将始终转到此文件。

所以我的问题很简单:重新加载表单onchange,同时能够在按钮提交按下时使用action属性。

谢谢

2 个答案:

答案 0 :(得分:0)

如果我正确理解了这个问题,你可以通过javascript / jquery来改变表单的url。

<select onchange="submitform('url1')"></select>
<select onchange="submitform('url2')"></select>

<script type="text/javascript">
function submitForm(url)
{
  $("#formid").attr("action",url);
  $("#formid").submit();
}
</script>

如果您在提交按钮上执行此操作,您可以尝试这样的事情:

<input type="submit" onclick="return submitformviabtn()"></select>
<select onchange="submitform('url2')"></select>

<script type="text/javascript">
function submitformviabtn(e)
{
        e.preventDefault();
  $("#formid").attr("action","page.php");
  $("#formid").submit();
}
</script>

答案 1 :(得分:0)

 <script>
  $(document).ready(function(){

  $("#textBox").keyup(function()

     changeTest($(this).val());
     });


    function changeTest(val)
    {  
     rowno=0;
     var str="";
     str = "http://www.xyz.com/index.php/api/getArtist?searchtext="+val;

     $.getJSON(str, function (data) {

        var artistname="";
        var artistid="";
        $.each( data, function(key1,value1) {
        $.each(data[rowno], function(key,value) {                 

            if(key=='artistname')
                    {
              artistname=value ;
                    }
       }); 
      availableTags[rowno] = artistname;
      rowno=rowno+1;
       }); 
     });  
      $( "#textBox" ).autocomplete({
   source: availableTags
  });
     }


  </script>



    <form action="your-page.php" method="post">

    <label>Event Category</label>

    <select name="eventTypeidFk" id="eventTypeidFk" class="" required onchange="changetextbox()">

                <option value="">--- Select Event Category ---</option>
                <option value="1">Sports</option>
                <option value="2">Concert</option>

                </select>           

                <label>Artist</label>
                <input type="text" name="artist1" id="textBox" class="" required>


      </form>

您可以使用此概念。创建一个api来从db获取数据,并使用onchange调用该方法。