2014-09-11 2 views
0

У меня только один вопрос относительно JQuery. Мне нужно преобразовать следующий фрагмент кода синтаксиса JQuery,JQuery on submit

<form id=emailform name=emailform method=POST action=postemail.php onsubmit=doStart();return false> 

Где doStart() это одна функция в PHPUploader модуль, который загружает несколько файлов на сервер. Я ценю вашу помощь и благодарю заранее.

+0

Пожалуйста, внесите фактический код. Используйте инструмент '{}' разметки в редакторе SO, чтобы публиковать его буквально. – Barmar

+0

При написании форм вам действительно нужно использовать кавычки и правильный синтаксис. –

+2

@ j.f. Не исправляйте свои ошибки при редактировании, исправления ошибок должны быть в ответах. – Barmar

ответ

0

Вы можете сделать что-то вроде:

$('#emailform').on('submit', function(e) { 
    e.preventDefault(); 
    doStart(); 
    // could do "return false;" here instead of e.preventDefault() above. 
}); 

Если это то, что вы имеете в виду путем преобразования кода JQuery.

P.S. Я рекомендую вам использовать двойные кавычки в вашем HTML-коде. HTML строка кода вы вывесили должно быть написано что-то вроде:

<form id="emailform" name="emailform" method="POST" action="postemail.php" onsubmit="doStart();return false"> 
+0

Спасибо, мой друг за ваш быстрый ответ, я проверю его и дам вам отзывы о результате. Еще раз спасибо. –

+0

Также добавьте 'e.stopPropagation()' после 'e.preventDefault()' для предотвращения барботирования событий. –

+0

@ baph0mt, возвращая false, он также остановит распространение. BTW, это не обязательно в этом случае – kfirba

0

Вы должны поставить кавычки вокруг значения атрибута, который содержит пробелы. Это хорошая идея, чтобы процитировать все значения атрибута, но если вы не укажете его, когда есть пробел, значение будет неправильным. Без кавычек пробел заканчивается значением атрибута. В вашем случае он заканчивался только return вместо return false.

onsubmit="doStart();return false;" 
+0

Я протестировал ваше решение, я заметил, что вы пропустили «postemail.php», , поэтому не могли бы вы рассказать мне, где его поместить в рекомендуемое вами решение. У меня есть следующий код работает нормально, но мне просто нужно добавить doStart(); function: - $ .post ("postemail.php?" + $ ("# emailform"). serialize(), { }, function (response) { –

+0

Я не пропустил это, я просто показал часть, вам нужно изменить. 'action = postemail.php' должно работать нормально, хотя я рекомендую помещать кавычки вокруг значения для согласованности. – Barmar

+0

Итак, рассмотрим следующий рабочий код, как я упоминал ранее: - $ .post (" postemail.php ? "+ $ (" # emailform "). serialize(), { }, function (response) Я просто хочу знать, где бы я мог поместить функцию doStart() для инициализации загрузки файлов Заранее спасибо –