2009-10-10 68 views
1

请看下面的代码。当表单被提交时,它是否实际上提交了我输入的值,即val(50),还是在serialzies它只是从实际的html页面上的表单获取数据?更改表单提交的值和JQuery序列化函数

// stop all forms from submitting and submit the real (hidden) form#order 
$('form:not(#order)').submit(function(event) { 
alert($(this).attr('id'));         
//event.preventDefault(); 
if($(this).attr('id')==='quick2a'){ 

    alert('quick2a being submitted'); 
    //submitQuick2a(); 
    $('form#order input[name=custom_channels]').val(50); 

    var name = 'het-'; 
    name += $('form#order input[name=platform]').val('astsk'); 
    name += '-ga-'; 
    name += $('form#order input[name=license]').val('floating'); 

    $('form#order input[name=productname]').val(name); 

    $.post('/store/cart/add/ajax/', $('form#order').serialize(), function() { 
    document.location.href = '/store/checkout'; 

    });     
}else{ 
// 
} 

我想这些值在无论什么用户设置的形式设置,我在做正确吗?

感谢所有

回答

2

为什么不直接构造数据而不是将其填充到表单中,然后通过序列化获取值?

$('form').submit(function(event) { 
    if($(this).attr('id')==='quick2a') { 
     var data = { 
       'custom_channels': 50, 
       'platform' : 'astsk', 
       'license' : 'floating', 
       'productname' : 'het-astsk-ga-floating' 
      }; 

     $.post('/store/cart/add/ajax/', data, function() { 
      document.location.href = '/store/checkout'; 
     });         
    }else{ 
    // 
    } 
    return false; 
}); 
+0

这实际上使事情变得更容易写信,谢谢! – Abs 2009-10-11 16:40:13

1

它得到的值从HTML页面...但通过调用.val(...)你设置的HTML页面上的值,所以你的代码将工作,只要你想它。

+0

请问以上得到,因为我将需要许多形式和它的剪切代码我曾影响如果在$(文件)。就绪(函数(){支架? – Abs 2009-10-10 13:16:04