HTML / PHP несколько действий формы

0

У меня есть форма с 2 selectboxes текстовое поле и 1 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>

Когда вы выбираете другое значение из выбранного варианта, он перезагружает форму/страницу и снова отображает правильный контент в текстовом поле с помощью "this.form.submit()", а также запоминает, что вы выбрали в selectbox.

Теперь я хочу отправить все эти сообщения из этой формы в файл ChangeContent.php. Но я не могу использовать атрибут action в форме, иначе он всегда будет обращаться к этому файлу, когда вы выберете новое значение из selectbox.

поэтому мой вопрос вкратце: перезагрузите форму onchange, в то время как сможете использовать атрибут action на кнопку submit press.

спасибо

Теги:
forms
onchange
action

2 ответа

0
Лучший ответ

если я правильно понял вопрос, вы меняете URL-адрес формы через javascript/jquery, например.

<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>
  • 0
    Ваш ответ был не тем, что я использую сейчас, но благодаря вам я нашел это. мне нужно только использовать this.form.action = "somethingelse"; и это хорошо. большое спасибо
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.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню