后台程序问题 form form.elementss must be not named submite

Frequently Asked Questions for the Online DS-160 Nonimmigrant Visa Electronic Application | iFlyChina.net 飞网中国您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
新Principles&Practice of E Commerce 杨坚争 Chapter9 E Commerce Standard Systems for Application.ppt148页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
文档加载中...广告还剩秒
需要金币:120 &&
你可能关注的文档:
··········
··········
E-Commerce Standard Systems for Application Chapter 9 9.1
EDI Standard 9.2
The Standard of ebXML 9.3
RosettaNet Standard 9.1
EDI Standard 9.1.1
Introduction Short for electronic data interchange, the transfer of data between different companies using networks. As more and more companies get connected to the Internet, EDI is becoming increasingly important as an easy mechanism for companies to buy, sell, and trade information.
EDI is a widely-used technology for the automated exchange of documents between dissimilar applications. It allows value chain partners to exchange purchase orders, invoices, advance ship notices and other business documents directly from one business system to the other, without human intervention. Proven advantages are fewer errors, lower administrative costs, and faster order-to-cash cycles. An EDI message contains a string of data elements, each of which represents a singular fact, such as a price, product model number, and so forth, separated by delimiter. The entire string is called a data segment. One or more data segments framed by a header and trailer form a transaction set, which is the EDI unit of transmission .A transaction set often consists of what would usually be contained in a typical business document or form.
The parties who exchange EDI transmissions are referred to as trading partners. EDI is the process of using computers to exchange business documents between companies. Previously, fax machines or traditional mail was used to exchange documents. Mailing and faxing are still used in business, but EDI is a much quicker way to do the same thing. EDI is used by a huge number of businesses. Over 100 000 businesses have replaced the more traditional methods with EDI.
This new system has
cost is one of them. Computer to computer exchange is much less expensive than traditional methods of document exchange. Processing a paper-based order can cost up 70 US dollars
As a computer processes the documents
正在加载中,请稍后...javascript - Why Form Elements should not be named submit? - Stack Overflow
to customize your list.
Stack Overflow is a community of 4.7 million programmers, just like you, helping each other.
J it only takes a minute:
Join the Stack Overflow community to:
Ask programming questions
Answer and help your peers
Get recognized for your expertise
I figured out through debugging that I should not name any Form Elements name="submit", but even after searching I didn't find any good explanation of why?
See simple code example below:
&!DOCTYPE html&
&html lang="en"&
&meta charset="utf-8" /&
&title&&/title&
&form action="javascript:alert('submitted');" method="post" id="test-form"&
&label&Name&/label&
&input type="text" name="name-field" value="" /&
&input type="submit" name="submit" value="Submit Button" /& &!-- name should not be "submit" --&
&p&&a href="javascript: document.getElementById('test-form').submit();"&Submit Link&/a&&/p&
If you Press Enter while on any Form Element or Click the
Submit Button, it will work.
If you Click on the Submit Link, it will have error
Unhandled Error: 'document.getElementById('test-form').submit' is not a function
If you simply rename your Submit Button to anything other than name="submit" (even if you just capitalize some part of it) or just remove the name="submit" attribute, then both the Submit Button and Submit Link will work.
I tried this in the latest version of Internet Explorer, Firefox, Opera, Chrome, and Safari. All of them have consistent behavior with regards to this.
As you can see in my code example, there is no involvement of jQuery or any other JavaScript library.
I would appreciate the explanation. Thanks
If you check the Mozilla docs here :
You will see that forms have a .submit() method.
In addition, forms are also populated with the fields within the form.
(Here is one example:
I can't find any reference that it should happen, only that it does.)
So, when you make an element called submit it over-rides the forms built-in submit() method -- and since the element is, well, not a function, you get that error message.
14.7k32647
Say your form is named "foo" and you have a field "firstName".
foo.firstName is that field in the form.
foo.submit() will submit that form, because submit is a method on forms.
If you redefine submit to be a form field you overwrite the submit method.
116k13154190
submit would be the form input type and i think is also used as an identifier in javascript. So naming a submit button "submit" makes the use of "submit" in javascript ambiguous
Your Answer
Sign up or
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Post as a guest
By posting your answer, you agree to the
Not the answer you're looking for?
Browse other questions tagged
The week's top questions and answers
Important community announcements
Questions that need answers
By subscribing, you agree to the
Stack Overflow works best with JavaScript enabled3480人阅读
JavaScript(76)
代码一看就能懂,不做解释了,详细文档
&!DOCTYPE html PUBLIC &-//W3C//DTD XHTML 1.0 Transitional//EN& &http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&&
&html xmlns=&http://www.w3.org/1999/xhtml&&
&title&jQuery Form&/title&
&!--引入js库--&
&script type=&text/javascript& src=&/ajax/libs/jquery/1.7.1/jquery.min.js&&&/script&
&script type=&text/javascript& src=&jquery.form.js&&&/script&
&!--html--&
&form id=&myForm1& action=&http://blog.csdn.net/a& method=&post&&
&input type=&hidden& name=&Hidden& value=&hiddenValue& /&
&input name=&Name& type=&text& value=&MyName1& /&
&input name=&Password& type=&password& /&
&select name=&Multiple& multiple=&multiple&&
&optgroup label=&Group 1&&
&option value=&one& selected=&selected&&One&/option&
&option value=&two&&Two&/option&
&option value=&three&&Three&/option&
&/optgroup&
&optgroup label=&Group 2&&
&option value=&four&&Four&/option&
&option value=&five&&Five&/option&
&option value=&six&&Six&/option&
&/optgroup&
&select name=&Single&&
&option value=&one& selected=&selected&&One&/option&
&option value=&two&&Two&/option&
&option value=&three&&Three&/option&
&select name=&Single2&&
&optgroup label=&Group 1&&
&option value=&A& selected=&selected&&A&/option&
&option value=&B&&B&/option&
&option value=&C&&C&/option&
&/optgroup&
&optgroup label=&Group 2&&
&option value=&D&&D&/option&
&option value=&E&&E&/option&
&option value=&F&&F&/option&
&/optgroup&
&input type=&checkbox& name=&Check& value=&1& /&
&input type=&checkbox& name=&Check& value=&2& /&
&input type=&checkbox& name=&Check& value=&3& /&
&input type=&radio& name=&Radio& value=&1& /&
&input type=&radio& name=&Radio& value=&2& /&
&input type=&radio& name=&Radio& value=&3& /&
&textarea name=&Text& rows=&2& cols=&20&&This is Form1&/textarea&
&input type=&reset& name=&resetButton & value=&Reset& /&
&input type=&submit& name=&submitButton& value=&Submit& /&
&!--/html--&
&!--javaScript--&
&script type=&text/javascript&&
$(document).ready(function () {
var options = {
target: '#output1',
// target element(s) to be updated with server response
beforeSubmit: showRequest, // pre-submit callback
success: showResponse // post-submit callback
// other available options:
// override for form's 'action' attribute
// 'get' or 'post', override for form's 'method' attribute
//dataType:
// 'xml', 'script', or 'json' (expected server response type)
//clearForm: true
// clear all form fields after successful submit
//resetForm: true
// reset the form after successful submit
// $.ajax options can be used here too, for example:
//timeout:
// bind form using 'ajaxForm'
$('#myForm1').ajaxForm(options);
// pre-submit callback
function showRequest(formData, jqForm, options) {
// formD here we use $.param to convert it to a string to display it
// but the form plugin does this for you automatically when it submits the data
var queryString = $.param(formData);
// jqForm is a jQuery object encapsulating the form element.
To access the
// DOM element for the form do this:
// var formElement = jqForm[0];
var form = jqForm[0];
alert('About to submit: \n\n' + form.Name.value + queryString);
// here we could return false to prevent the form
// returning anything other than false will allow the form submit to continue
// post-submit callback
function showResponse(responseText, statusText) {
// for normal html responses, the first argument to the success callback
// is the XMLHttpRequest object's responseText property
// if the ajaxForm method was passed an Options Object with the dataType
// property set to 'xml' then the first argument to the success callback
// is the XMLHttpRequest object's responseXML property
// if the ajaxForm method was passed an Options Object with the dataType
// property set to 'json' then the first argument to the success callback
// is the json data object returned by the server
alert('status: ' + statusText + '\n\nresponseText: \n' + responseText +
'\n\nThe output div should have already been updated with the responseText.');
&!--/javaScript--&
* jQuery Form Plugin
* version: 2.16 (17-OCT-2008)
* @requires jQuery v1.2.2 or later
* Examples and documentation at: /jquery/form/
* Dual licensed under the MIT and GPL licenses:
http://www.opensource.org/licenses/mit-license.php
http://www.gnu.org/licenses/gpl.html
* Revision: $Id: jquery.form.js -07 15:02:19Z malsup $
;(function($) {
Usage Note:
-----------
Do not use both ajaxSubmit and ajaxForm on the same form.
functions are intended to be exclusive.
Use ajaxSubmit if you want
to bind your own submit handler to the form.
For example,
$(document).ready(function() {
$('#myForm').bind('submit', function() {
$(this).ajaxSubmit({
target: '#output'
// &-- important!
Use ajaxForm when you want the plugin to manage all the event binding
For example,
$(document).ready(function() {
$('#myForm').ajaxForm({
target: '#output'
When using ajaxForm, the ajaxSubmit function will be invoked for you
at the appropriate time.
* ajaxSubmit() provides a mechanism for immediately submitting
* an HTML form using AJAX.
$.fn.ajaxSubmit = function(options) {
// fast fail if nothing selected (/ticket/2752)
if (!this.length) {
log('ajaxSubmit: skipping submit process - no element selected');
if (typeof options == 'function')
options = { success: options };
options = $.extend({
this.attr('action') || window.location.toString(),
type: this.attr('method') || 'GET'
}, options || {});
// hook for manipulating the form data be
// convenient for use with rich editors like tinyMCE or FCKEditor
var veto = {};
this.trigger('form-pre-serialize', [this, options, veto]);
if (veto.veto) {
log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
var a = this.formToArray(options.semantic);
if (options.data) {
options.extraData = options.
for (var n in options.data) {
if(options.data[n] instanceof Array) {
for (var k in options.data[n])
a.push( { name: n, value: options.data[n][k] } )
a.push( { name: n, value: options.data[n] } );
// give pre-submit callback an opportunity to abort the submit
if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) {
log('ajaxSubmit: submit aborted via beforeSubmit callback');
// fire vetoable 'validate' event
this.trigger('form-submit-validate', [a, this, options, veto]);
if (veto.veto) {
log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
var q = $.param(a);
if (options.type.toUpperCase() == 'GET') {
options.url += (options.url.indexOf('?') &= 0 ? '&' : '?') +
options.data =
// data is null for 'get'
options.data = // data is the query string for 'post'
var $form = this, callbacks = [];
if (options.resetForm) callbacks.push(function() { $form.resetForm(); });
if (options.clearForm) callbacks.push(function() { $form.clearForm(); });
// perform a load on the target only if dataType is not provided
if (!options.dataType && options.target) {
var oldSuccess = options.success || function(){};
callbacks.push(function(data) {
$(options.target).html(data).each(oldSuccess, arguments);
else if (options.success)
callbacks.push(options.success);
options.success = function(data, status) {
for (var i=0, max=callbacks. i & i++)
callbacks[i].apply(options, [data, status, $form]);
// are there files to upload?
var files = $('input:file', this).fieldValue();
var found =
for (var j=0; j & files. j++)
if (files[j])
// options.iframe allows user to force iframe mode
if (options.iframe || found) {
// hack to fix Safari hang (thanks to Tim Molendijk for this)
/group/jquery-dev/browse_thread/thread/0dd5d
if ($.browser.safari && options.closeKeepAlive)
$.get(options.closeKeepAlive, fileUpload);
fileUpload();
$.ajax(options);
// fire 'notify' event
this.trigger('form-submit-notify', [this, options]);
// private function for handling file uploads (hat tip to YAHOO!)
function fileUpload() {
var form = $form[0];
if ($(':input[@name=submit]', form).length) {
alert('Error: Form elements must not be named &submit&.');
var opts = $.extend({}, $.ajaxSettings, options);
var s = jQuery.extend(true, {}, $.extend(true, {}, $.ajaxSettings), opts);
var id = 'jqFormIO' + (new Date().getTime());
var $io = $('&iframe id=&' + id + '& name=&' + id + '& /&');
var io = $io[0];
if ($.browser.msie || $.browser.opera)
io.src = 'javascript:document.write(&&);';
$io.css({ position: 'absolute', top: '-1000px', left: '-1000px' });
var xhr = { // mock object
aborted: 0,
responseText: null,
responseXML: null,
status: 0,
statusText: 'n/a',
getAllResponseHeaders: function() {},
getResponseHeader: function() {},
setRequestHeader: function() {},
abort: function() {
this.aborted = 1;
$io.attr('src','about:blank'); // abort op in progress
var g = opts.
// trigger ajax global events so that activity/block indicators work like normal
if (g && ! $.active++) $.event.trigger(&ajaxStart&);
if (g) $.event.trigger(&ajaxSend&, [xhr, opts]);
if (s.beforeSend && s.beforeSend(xhr, s) === false) {
s.global && jQuery.active--;
if (xhr.aborted)
var cbInvoked = 0;
var timedOut = 0;
// add submitting element to data if we know it
var sub = form.
if (sub) {
var n = sub.
if (n && !sub.disabled) {
options.extraData = options.extraData || {};
options.extraData[n] = sub.
if (sub.type == &image&) {
options.extraData[name+'.x'] = form.clk_x;
options.extraData[name+'.y'] = form.clk_y;
// take a breath so that pending repaints get some cpu time before the upload starts
setTimeout(function() {
// make sure form attrs are set
var t = $form.attr('target'), a = $form.attr('action');
$form.attr({
// ie borks in some cases when setting encoding
if (! options.skipEncodingOverride) {
$form.attr({
encoding: 'multipart/form-data',
'multipart/form-data'
// support timout
if (opts.timeout)
setTimeout(function() { timedOut = cb(); }, opts.timeout);
// add &extra& data to form if provided in options
var extraInputs = [];
if (options.extraData)
for (var n in options.extraData)
extraInputs.push(
$('&input type=&hidden& name=&'+n+'& value=&'+options.extraData[n]+'& /&')
.appendTo(form)[0]);
// add iframe to doc and submit the form
$io.appendTo('body');
io.attachEvent ? io.attachEvent('onload', cb) : io.addEventListener('load', cb, false);
form.submit();
// reset attrs and remove &extra& input elements
$form.attr('action', a);
t ? $form.attr('target', t) : $form.removeAttr('target');
$(extraInputs).remove();
function cb() {
if (cbInvoked++)
io.detachEvent ? io.detachEvent('onload', cb) : io.removeEventListener('load', cb, false);
var operaHack = 0;
if (timedOut) throw 'timeout';
// extract the server response from the iframe
doc = io.contentWindow ? io.contentWindow.document : io.contentDocument ? io.contentDocument : io.
if (doc.body == null && !operaHack && $.browser.opera) {
// In Opera 9.2.x the iframe DOM is not always traversable when
// the onload callback fires so we give Opera 100ms to right itself
operaHack = 1;
cbInvoked--;
setTimeout(cb, 100);
xhr.responseText = doc.body ? doc.body.innerHTML :
xhr.responseXML = doc.XMLDocument ? doc.XMLDocument :
xhr.getResponseHeader = function(header){
var headers = {'content-type': opts.dataType};
return headers[header];
if (opts.dataType == 'json' || opts.dataType == 'script') {
var ta = doc.getElementsByTagName('textarea')[0];
xhr.responseText = ta ? ta.value : xhr.responseT
else if (opts.dataType == 'xml' && !xhr.responseXML && xhr.responseText != null) {
xhr.responseXML = toXml(xhr.responseText);
data = $.httpData(xhr, opts.dataType);
$.handleError(opts, xhr, 'error', e);
// ordering of these callbacks/triggers is odd, but that's how $.ajax does it
opts.success(data, 'success');
if (g) $.event.trigger(&ajaxSuccess&, [xhr, opts]);
if (g) $.event.trigger(&ajaxComplete&, [xhr, opts]);
if (g && ! --$.active) $.event.trigger(&ajaxStop&);
if (plete) plete(xhr, ok ? 'success' : 'error');
// clean up
setTimeout(function() {
$io.remove();
xhr.responseXML =
function toXml(s, doc) {
if (window.ActiveXObject) {
doc = new ActiveXObject('Microsoft.XMLDOM');
doc.async = 'false';
doc.loadXML(s);
doc = (new DOMParser()).parseFromString(s, 'text/xml');
return (doc && doc.documentElement && doc.documentElement.tagName != 'parsererror') ? doc :
* ajaxForm() provides a mechanism for fully automating form submission.
* The advantages of using this method instead of ajaxSubmit() are:
* 1: This method will include coordinates for &input type=&image& /& elements (if the element
is used to submit the form).
* 2. This method will include the submit element's name/value data (for the element that was
used to submit the form).
* 3. This method binds the submit() method to the form for you.
* The options argument for ajaxForm works exactly as it does for ajaxSubmit.
ajaxForm merely
* passes the options argument along after properly binding events for submit elements and
* the form itself.
$.fn.ajaxForm = function(options) {
return this.ajaxFormUnbind().bind('submit.form-plugin',function() {
$(this).ajaxSubmit(options);
}).each(function() {
// store options in hash
$(&:submit,input:image&, this).bind('click.form-plugin',function(e) {
var form = this.
form.clk =
if (this.type == 'image') {
if (e.offsetX != undefined) {
form.clk_x = e.offsetX;
form.clk_y = e.offsetY;
} else if (typeof $.fn.offset == 'function') { // try to use dimensions plugin
var offset = $(this).offset();
form.clk_x = e.pageX - offset.
form.clk_y = e.pageY - offset.
form.clk_x = e.pageX - this.offsetL
form.clk_y = e.pageY - this.offsetT
// clear form vars
setTimeout(function() { form.clk = form.clk_x = form.clk_y = }, 10);
// ajaxFormUnbind unbinds the event handlers that were bound by ajaxForm
$.fn.ajaxFormUnbind = function() {
this.unbind('submit.form-plugin');
return this.each(function() {
$(&:submit,input:image&, this).unbind('click.form-plugin');
* formToArray() gathers form element data into an array of objects that can
* be passed to any of the following ajax functions: $.get, $.post, or load.
* Each object in the array has both a 'name' and 'value' property.
An example of
* an array for a simple login form might be:
* [ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ]
* It is this array that is passed to pre-submit callback functions provided to the
* ajaxSubmit() and ajaxForm() methods.
$.fn.formToArray = function(semantic) {
var a = [];
if (this.length == 0)
var form = this[0];
var els = semantic ? form.getElementsByTagName('*') : form.
for(var i=0, max=els. i & i++) {
var el = els[i];
var n = el.
if (semantic && form.clk && el.type == &image&) {
// handle image inputs on the fly when semantic == true
if(!el.disabled && form.clk == el)
a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
var v = $.fieldValue(el, true);
if (v && v.constructor == Array) {
for(var j=0, jmax=v. j & j++)
a.push({name: n, value: v[j]});
else if (v !== null && typeof v != 'undefined')
a.push({name: n, value: v});
if (!semantic && form.clk) {
// input type=='image' are not found in elements array! handle them here
var inputs = form.getElementsByTagName(&input&);
for(var i=0, max=inputs. i & i++) {
var input = inputs[i];
var n = input.
if(n && !input.disabled && input.type == &image& && form.clk == input)
a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
* Serializes form data into a 'submittable' string. This method will return a string
* in the format: name1=value1&name2=value2
$.fn.formSerialize = function(semantic) {
//hand off to jQuery.param for proper encoding
return $.param(this.formToArray(semantic));
* Serializes all field elements in the jQuery object into a query string.
* This method will return a string in the format: name1=value1&name2=value2
$.fn.fieldSerialize = function(successful) {
var a = [];
this.each(function() {
var n = this.
var v = $.fieldValue(this, successful);
if (v && v.constructor == Array) {
for (var i=0,max=v. i & i++)
a.push({name: n, value: v[i]});
else if (v !== null && typeof v != 'undefined')
a.push({name: this.name, value: v});
//hand off to jQuery.param for proper encoding
return $.param(a);
* Returns the value(s) of the element in the matched set.
For example, consider the following form:
&form&&fieldset&
&input name=&A& type=&text& /&
&input name=&A& type=&text& /&
&input name=&B& type=&checkbox& value=&B1& /&
&input name=&B& type=&checkbox& value=&B2&/&
&input name=&C& type=&radio& value=&C1& /&
&input name=&C& type=&radio& value=&C2& /&
&/fieldset&&/form&
var v = $(':text').fieldValue();
// if no values are entered into the text inputs
v == ['','']
// if values entered into the text inputs are 'foo' and 'bar'
v == ['foo','bar']
var v = $(':checkbox').fieldValue();
// if neither checkbox is checked
v === undefined
// if both checkboxes are checked
v == ['B1', 'B2']
var v = $(':radio').fieldValue();
// if neither radio is checked
v === undefined
// if first radio is checked
v == ['C1']
* The successful argument controls whether or not the field element must be 'successful'
* (per http://www.w3.org/TR/html4/interact/forms.html#successful-controls).
* The default value of the successful argument is true.
If this value is false the value(s)
* for each element is returned.
* Note: This method *always* returns an array.
If no valid value can be determined the
array will be empty, otherwise it will contain one or more values.
$.fn.fieldValue = function(successful) {
for (var val=[], i=0, max=this. i & i++) {
var el = this[i];
var v = $.fieldValue(el, successful);
if (v === null || typeof v == 'undefined' || (v.constructor == Array && !v.length))
v.constructor == Array ? $.merge(val, v) : val.push(v);
* Returns the value of the field element.
$.fieldValue = function(el, successful) {
var n = el.name, t = el.type, tag = el.tagName.toLowerCase();
if (typeof successful == 'undefined') successful =
if (successful && (!n || el.disabled || t == 'reset' || t == 'button' ||
(t == 'checkbox' || t == 'radio') && !el.checked ||
(t == 'submit' || t == 'image') && el.form && el.form.clk != el ||
tag == 'select' && el.selectedIndex == -1))
if (tag == 'select') {
var index = el.selectedI
if (index & 0)
var a = [], ops = el.
var one = (t == 'select-one');
var max = (one ? index+1 : ops.length);
for(var i=(one ? index : 0); i & i++) {
var op = ops[i];
if (op.selected) {
// extra pain for IE...
var v = $.browser.msie && !(op.attributes['value'].specified) ? op.text : op.
a.push(v);
return el.
* Clears the form data.
Takes the following actions on the form's input fields:
- input text fields will have their 'value' property set to the empty string
- select elements will have their 'selectedIndex' property set to -1
- checkbox and radio inputs will have their 'checked' property set to false
- inputs of type submit, button, reset, and hidden will *not* be effected
- button elements will *not* be effected
$.fn.clearForm = function() {
return this.each(function() {
$('input,select,textarea', this).clearFields();
* Clears the selected form elements.
$.fn.clearFields = $.fn.clearInputs = function() {
return this.each(function() {
var t = this.type, tag = this.tagName.toLowerCase();
if (t == 'text' || t == 'password' || tag == 'textarea')
this.value = '';
else if (t == 'checkbox' || t == 'radio')
this.checked =
else if (tag == 'select')
this.selectedIndex = -1;
* Resets the form data.
Causes all form elements to be reset to their original value.
$.fn.resetForm = function() {
return this.each(function() {
// guard against an input with the name of 'reset'
// note that IE reports the reset function as an 'object'
if (typeof this.reset == 'function' || (typeof this.reset == 'object' && !this.reset.nodeType))
this.reset();
* Enables or disables any matching elements.
$.fn.enable = function(b) {
if (b == undefined) b =
return this.each(function() {
this.disabled = !b
* Checks/unchecks any matching checkboxes or radio buttons and
* selects/deselects and matching option elements.
$.fn.selected = function(select) {
if (select == undefined) select =
return this.each(function() {
var t = this.
if (t == 'checkbox' || t == 'radio')
this.checked =
else if (this.tagName.toLowerCase() == 'option') {
var $sel = $(this).parent('select');
if (select && $sel[0] && $sel[0].type == 'select-one') {
// deselect all other options
$sel.find('option').selected(false);
this.selected =
// helper fn for console logging
// set $.fn.ajaxSubmit.debug to true to enable debug logging
function log() {
if ($.fn.ajaxSubmit.debug && window.console && window.console.log)
window.console.log('[jquery.form] ' + Array.prototype.join.call(arguments,''));
})(jQuery);
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1261825次
积分:14684
积分:14684
排名:第485名
原创:380篇
转载:116篇
译文:21篇
评论:210条
(1)(4)(3)(6)(2)(2)(3)(8)(2)(7)(7)(2)(3)(2)(4)(3)(3)(8)(2)(3)(2)(5)(1)(3)(12)(6)(4)(11)(6)(1)(3)(3)(5)(3)(3)(8)(13)(23)(8)(6)(5)(15)(6)(4)(1)(6)(22)(6)(10)(2)(5)(12)(5)(12)(3)(5)(3)(2)(16)(7)(7)(4)(1)(5)(6)(7)(7)(4)(3)(10)(14)(7)(1)(2)(6)(18)(2)(27)(35)(1)(2)}

我要回帖

更多关于 form.elements.length 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信