首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查表单隐藏字段是否为空,然后只向servlet发送受尊重的请求参数

如何检查表单隐藏字段是否为空,然后只向servlet发送受尊重的请求参数
EN

Stack Overflow用户
提问于 2013-08-20 08:06:37
回答 2查看 203关注 0票数 0

基本上,我有一个部分有6个选择框,像这样,我使用ajax动态地填充它们,但是根据servlet响应填充的选择字段的数量,比如一些时间、2个选择框或某些时候的5、4、3等等.我隐藏的其他选择箱,但没有被过激。现在,我希望在选择按钮单击事件时,将值输入到相应的输入隐藏字段中,并且我只想将显示的选择框值传递给servelt,而不是所有

代码语言:javascript
复制
<div id="section-2" class="section-content"> 
    <fieldset id="field-1">
        <label for="field-1">Data 1</label>
        <select id="factor-1"></select>
    </fieldset>
    <fieldset id="field-2">
        <label for="field-2">Data 2</label>
        <select id="factor-2"></select>
    </fieldset>
    <fieldset id="field-3">
        <label for="field-3">Data 2</label>
        <select id="factor-3"></select>
    </fieldset>
    <fieldset id="field-4">
        <label for="field-4">Data 4</label>
        <select id="factor-4"></select>
    </fieldset>
    <fieldset id="field-5">
        <label for="field-5">Data 5</label>
        <select id="factor-5"></select>
    </fieldset>
    <fieldset id="field-6">
        <label for="field-6">Data 6</label>
        <select id="factor-6"></select>
    </fieldset>

    <button type="button" id="section2-next"> Next </button>

    <input type="text" id="data-1-Id"/>
    <input type="text" id="data-2-Id"/>
    <input type="text" id="data-3-Id"/>
    <input type="text" id="data-4-Id"/>
    <input type="text" id="data-5-Id"/>
    <input type="text" id="data-6-Id"/>

</div>

这是我的$.ajax()电话..。

代码语言:javascript
复制
$("#section2-next").click(function(){

    var param1= $("#data-1-Id").val();
    var param2= $("#data-2-Id").val();
    var param3= $("#data-3-Id").val();
    var param4= $("#data-4-Id").val();
    var param5= $("#data-5-Id").val();
    var param6= $("#data-6-Id").val();
    // here i am having problem how to pass only filled input filed value not all 6  parammeters on every ajax request.........
    var dataString = 'param1='+param1+"&param2="+param2+"&param3="+param3+"&param4="+param4+"&param5="+param5+"&param6="+param6;
    console.log(dataString);
    $.ajax({
        type:"Post",
        url:"GetPrice",
        datatype:"json",
        data : dataString,
        success: function(data){  
            //  var price = data.asset;
            var parsed = JSON.parse(data);
            var price = parsed[0].FormattedPrice;
            $('#price').empty().text(price);
        }
    });

});

以及如何检查servlet中是否存在参数?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-20 08:56:02

以如下形式包装您的输入:

<form name="section2-next" id="section2-next"> <input type="text" id="data-1-Id"/> <input type="text" id="data-2-Id"/> <input type="text" id="data-3-Id"/>><input type="text" id="data-4-Id"/> <input type="submit"value="submit!"/> <!-- dont forget the input of type submit--> </form>

然后使用$(“#Section2-Next”).submit(函数(事件){ event.preventDefault();//不要忘记这一行。 //而不是$(“#Section2-Next”).click(函数(){

下一首

//您的dataString var dataString = {param1 : $("#data-1-Id").val() || '', param2 : $("#data-2-Id").val() || ''};// up until param6

// for var parsed =JSON.parse(数据); var parsed = $.parseJSON(data);

最后,

//在php文件<?php echo json_encode($_POST); ?>

票数 1
EN

Stack Overflow用户

发布于 2013-08-20 09:01:26

代码语言:javascript
复制
       var dataString ="";
    if ($("#data-1-Id").val() != '' )
    { dataString = 'param1='+param1; }

    ...
dataString =dataString+ #2
    .do the same for all 
    ...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18329948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档