Для этого вам не нужен jQuery. В вашей форме добавьте:
onsubmit="return buttonSubmit(this)
или в JavaScript:
myform.setAttribute("onsubmit", "return buttonSubmit(this)");
В вашей функции buttonSubmit
(или, как вы ее называете), вы можете отправить форму с помощью AJAX , buttonSubmit
вызывается только в том случае, если ваша форма проверена в HTML5.
Если это кому-то помогает, вот моя функция buttonSubmit
:
function buttonSubmit(e)
{
var ajax;
var formData = new FormData();
for (i = 0; i < e.elements.length; i++)
{
if (e.elements[i].type == "submit")
{
if (submitvalue == e.elements[i].value)
{
submit = e.elements[i];
submit.disabled = true;
}
}
else if (e.elements[i].type == "radio")
{
if (e.elements[i].checked)
formData.append(e.elements[i].name, e.elements[i].value);
}
else
formData.append(e.elements[i].name, e.elements[i].value);
}
formData.append("javascript", "javascript");
var action = e.action;
status = action.split('/').reverse()[0] + "-status";
ajax = new XMLHttpRequest();
ajax.addEventListener("load", manageLoad, false);
ajax.addEventListener("error", manageError, false);
ajax.open("POST", action);
ajax.send(formData);
return false;
}
Некоторые из моих форм содержат несколько кнопок отправки, поэтому эта строка if (submitvalue == e.elements[i].value)
. Я установил значение submitvalue
с помощью события click.
Вы можете использовать методы Linq:
List<double> doubles = integers.Select<int, double>(i => i).ToList();
или:
List<double> doubles = integers.Select(i => (double)i).ToList();
Кроме того, класс списка имеет метод FOREACH:
List<double> doubles = new List<double>(integers.Count);
integers.ForEach(i => doubles.Add(i));
Вы можете использовать Select
, как предлагают другие, но вы также можете использовать ConvertAll
:
List<double> doubleList = intList.ConvertAll(x => (double)x);
Это имеет два преимущества:
ToList
не знает размер результата Select
, поэтому ему может потребоваться перераспределить буферы по мере продвижения. ConvertAll
знает размер источника и назначения, поэтому он может сделать все это за один раз. Это также может быть сделано без абстракции итераторов. Недостатки:
List<T>
и массивами. Если вы получите равнину IEnumerable<T>
, вам придется использовать Select
и ToList
. Вы можете использовать метод ConvertAll внутри .Net Framework 2.0, вот пример
List<int> lstInt = new List<int>(new int[] { 1, 2, 3 });
List<double> lstDouble = lstInt.ConvertAll<double>(delegate(int p)
{
return (double)p;
});
Вы можете использовать Select или ConvertAll. Имейте в виду, что ConvertAll также доступен в .Net 2.0
Вы можете сделать это, используя метод расширения Select:
List<double> doubleList = intList.Select(x => (double)x).ToList();