2014-04-16 2 views
0

2 개의 선택 상자에 텍스트 상자와 1 개의 텍스트 영역이있는 양식이 있습니다. 이 폼을로드하면 데이터베이스에서 모든 메뉴 항목과 언어 항목을 가져 와서 selectboxed에 삽입 한 다음 메뉴 항목 및 언어에서 해당 내용을 가져옵니다.HTML/PHP 다중 폼 동작

<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()"로 다시 textare에서 올바른 내용을 표시하고, 그것은 또한 당신이 선택한 것을 기억 selectboxed 선택 상자에.

이제이 양식의 모든 게시물을 ChangeContent.php 파일에 제출하고 싶습니다. 그러나 양식의 작업 속성을 사용할 수 없습니다. 그렇지 않으면 선택 상자에서 새 값을 선택하면 항상이 파일로 이동합니다.

그래서 내 질문에 짧게 : 리로드 양식 onchange 버튼 제출 작업에 대한 작업 속성을 사용할 수있는 동안. 그래서 같은

내가 제대로 질문을 이해한다면 당신은

답변

0

, 당신은 자바 스크립트를 통해 양식의 URL을 변경 감사/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> 

이 개념을 사용할 수 있습니다. db에서 데이터를 가져오고 해당 메서드를 onchange로 호출하는 API를 만듭니다.