我使用jquery将数据发布到mysql。
**In settings.php i have this short JS code:**
$("form#submit").submit(function() {
var fname = $('#fname').attr('value');
var lname = $('#lname').attr('value');
$.ajax({
type: "POST",
url: "settings.php",
data: "fname="+ fname +"& lname="+ lname,
success: function(){
$('form#submit').hide();
$('div.success').fadeIn();
}
});
return false;
});
**And this short php:**
if (isset($_POST['fname'])){
$fname = htmlspecialchars(trim($_POST['fname']));
DO SOMETHING....
}
这是FNAME来自的代码:(在点击ADD图像按钮后,发布了fname值..)
echo "......
<form id='submit$i' method='post'><input type='hidden' name='fname' id='fname' class='text' value='$fm_linkaz'></div><input name='add'type='image' id='add' value='$fm_linkaz' src='s.png'/></form>..........";
这很好用。但我需要一个SELECT元素,所以我将代码更改为:
......
echo "<select name=dropdown_list id='**ONAME**'><option value''>test</option>";
for($i=0; $i < count($myarray); $i++){
echo "<option value='$myarray[$i]'>$myarray[$i]</option>";}echo "</select>";
......</form>";
这很好用,但我不知道如何修改JS代码,也可以发布所选值 谢谢你的帮助。
答案 0 :(得分:1)
获取选定的使用值
jQuery('#**ONAME**').val();
虽然我不确定**ONAME**
是否为有效ID,但请尝试删除**
答案 1 :(得分:1)
要获取值,请使用
$('select[name=dropdown_list]').val();
你也可以使用和ID,但我认为你有一些无效的字符,我怀疑这会有效:
$('select#**ONAME**').val();
无论如何.val()
正是你要找的。我还建议使用val()
代替attr('value')
。
答案 2 :(得分:1)
首先,javascript代码需要一些更新:
$('#fname').val()
优于$('#fname').attr('value')
- .val()
也适用于选择/复选框 - .attr('value')
不可靠。
第二:$ .ajax()调用的数据参数可以带一个json对象(它将转换为表单字符串)
$.ajax({
type: "POST",
url: "settings.php",
data: {
'fname': $('#fname').val(),
'lname': $('#lname').val(),
'oname': $('#oname').val()
},
success: function(){
$('form#submit').hide();
$('div.success').fadeIn();
}
});
有一个plugin使这更容易:
$("form").ajaxForm({
success: function(){
$('form#submit').hide();
$('div.success').fadeIn();
}
});
<强>更新:强>
此外 - <select>
元素被命名为“dropdown_list” - 也许您希望它以“oname”的形式提交数据。表单元素使用“name”属性来提交,id属性只使css / js选择器更容易编码。