我有一个包含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属性。
谢谢
答案 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调用该方法。