我们可以通过ajax发布带有下拉值的表单作为document.getElementById(下拉列表).value作为下拉列表的选定值,或者是否需要我们应该使用selected.Index
答案 0 :(得分:2)
简短回答是“是”,但要确保所有选项首先都有值属性或属性,因为并非所有浏览器都正确报告option value没有设置任何值(即不是发送内容(文字),他们什么也没发送)。这也适用于正常的表单提交。
答案 1 :(得分:1)
没有什么不同。
如果必须,我会使用.value
,但通常我会使用jQuery,因此在原型中使用.val()
函数(或.value()
)
答案 2 :(得分:0)
是的,这是可能的。您可以使用jquery.ajax,创建一个对象,其中包含您要发布的所有值(表单上的字段)并将其传递给数据:并设置类型:“POST”。
var valuestoPost = {field1:"val1", field2:"val2", dropdownval:$("#dropdownid").val()};
$.ajax({
url: foopostURL,
dataType: "html",
type: 'POST',
data: valuestoPost,
contentType: "application/x-www-form-urlencoded; charset=utf-8",
success:function (data){
//operation on successful post
},
error: function(jqXHR, textStatus, errorThrown){
//operation on error
}
});
答案 3 :(得分:0)
我使用这个JS函数来确保所有浏览器都获得值:
function getDataForDropdown(colName){
var columnName = "";
if ( columnName == null || columnName == '' )
{
var e = document.getElementById(colName);
columnName = e.options[e.selectedIndex].value;
}
if ( columnName == null || columnName == '' || columnName.length==0)
{
columnName = document.getElementById(colName).value;
}
if ( columnName == null || columnName == '' || columnName.length==0)
{
var select = document.getElementById(colName);
columnName= select.options[select.selectedIndex].value;
if ( columnName == null || columnName == '' || columnName.length==0)
{
columnName= select.options[select.selectedIndex].text;
}
}
return columnName;
}