如何使用javascript或jquery获取这些输入的值

时间:2017-07-31 01:47:22

标签: javascript jquery html

我想知道是否可以通过它最接近的元素找到输入? 真实代码:

<form method="post" action="">
    <div class="rocket-form">
        <fieldset>
            <legend>Person Contacts</legend>
        </fieldset>

        <div class="rocket-label-element no-height">
            <dt id="id-label">&nbsp;</dt>
            <dd id="id-element">
                <input type="hidden" name="id" value="" readonly="readonly" id="id">
            </dd>
        </div>
        <div class="rocket-label-element no-height"><dt id="vendor_id-label">&nbsp;</dt>
            <dd id="vendor_id-element">
                <input type="hidden" name="vendor_id" value="" readonly="readonly" id="vendor_id">
            </dd>
        </div>
        <div class="rocket-label-element">
            <div id="firstname-label">
                <label for="firstname" class="rocket-label optional">First name</label>
            </div>
            <div class="rocket-element">
                <input type="text" name="firstname" id="firstname" value="any first name" maxlength="64" readonly="readonly">
            </div>
        </div>
        <div class="rocket-label-element">
            <div id="lastname-label">
                <label for="lastname" class="rocket-label optional">Last name</label>
            </div>
            <div class="rocket-element">
                <input type="text" name="lastname" id="lastname" value="any last name" maxlength="64" readonly="readonly">
            </div>
        </div>
        <div class="rocket-label-element">
            <div id="phone-label">
                <label for="phone" class="rocket-label optional">Phone</label>
            </div>
            <div class="rocket-element">
                <input type="text" name="phone" id="phone" value="0123456789" maxlength="32" readonly="readonly">
            </div>
        </div>
        <div class="rocket-label-element">
            <div id="email-label">
                <label for="email" class="rocket-label optional">Email</label>
            </div>
            <div class="rocket-element">
                <input type="text" name="email" id="email" value="name@someMail.com" maxlength="128" readonly="readonly">
            </div>
        </div>
    </div>
</form>

我有这个表单,我想获取变量中输入的值。 我尝试使用“vendor_id”以使用nearest()或next()或prev()但没有运气.. 那么,有什么帮助吗?

5 个答案:

答案 0 :(得分:1)

您可以使用

var vendorId = $("#vendor_id").val();

获取vendor_id的值。

请务必添加,将其标识为ID。

如果要获取所有输入的值,可以使用:

$("input, select, textarea").each(function(){
    // Get value of inputs
});

如果您有多个表单,可以使用:

var formData = $(".rocket-form").closest("form").serialize();

请记住,您需要在脚本标记中包含jQuery,并且应该像这样包装代码:

$(function() {
    console.log( "ready!" );
});

这确保在JavaScript执行之前页面已准备就绪。

答案 1 :(得分:0)

不确定我是否完全理解你在问什么但是

$('#vendor_id-element input').val()

答案 2 :(得分:0)

试试这个

var inputs = $('form').find('input');
//inputs is the array of your inputs and values can be accessed by:
var value1 = $(inputs[0]).val();

//or you can use for loop or forEach
for (var i = 0; i < inputs.length; i++) {
    var currentValue = $(inputs[i]).val();
    alert(currentValue);

}

答案 3 :(得分:0)

你想要获得价值的所有输入中的一个类,并且遵循js

  Array.prototype.slice.apply(document.querySelector('.your-input-class')).forEach(function(el){
       Console.log(el.value);
    });

答案 4 :(得分:0)

你可以试试这个

var form = $("#vendor_id").closest("form").get();
$("form :input").each(function(){
 var input = $(this);
 var AllInputValues= $(input).val();
 alert (AllInputValues);

});

修改

var theVendform = $("#vendor_id").parent().closest("form").get();
                alert(theVendform["0"][3].defaultValue);
                alert(theVendform["0"][4].defaultValue);
                alert(theVendform["0"][5].defaultValue);
                alert(theVendform["0"][6].defaultValue);