Подтвердить что ты не робот

JQuery получает значение поля формы

Я использую шаблон jquery для динамического создания нескольких элементов на одной странице. Каждый элемент выглядит следующим образом:

<div id ="DynamicValueAssignedHere">
    <div class="something">Hello world</div>
    <div class="formdiv">
        <form name="inpForm">
            <input type="text" name="FirstName" />
            <input type="submit" value="Submit" />
        </form>
    </div>
</div>

Я хотел бы использовать JQuery для обработки формы на submit. Я также хотел бы вернуть значения формы к их предыдущим значениям, если что-то пойдет не так. Мой вопрос: Как я могу получить значение поля ввода с помощью JQuery? Например, я могу получить значение div с классом "something", выполнив

var something = $(#DynamicValueAssignedHere).children(".something").html();

Аналогичным образом я хочу получить значение текстового поля. Прямо сейчас, я попробовал

var text = $(#DynamicValueAssignedHere).children(".formdiv").findnext('input[name="FirstName"]').val();

но он, похоже, не работает

4b9b3361

Ответ 1

Вы должны использовать value attribute, чтобы получить его значение

<input type="text" name="FirstName" value="First Name" />

попробуйте -

var text = $('#DynamicValueAssignedHere').find('input[name="FirstName"]').val();

Ответ 2

Это может быть намного проще, чем то, что вы делаете.

HTML:

<input id="myField" type="text" name="email"/>

JavaScript:

// getting the value
var email = $("#myField").val();

// setting the value
$("#myField").val( "new value here" );

Ответ 3

Альтернативный подход без поиска поля html:

var $form = $('#' + DynamicValueAssignedHere).find('form');
var formData = $form.serializeArray();
var myFieldName = 'FirstName';
var myFieldFilter = function (field) {
  return field.name == myFieldName;
}
var value = formData.filter(myFieldFilter)[0].value;

Ответ 4

если вы знаете идентификатор входов, которые вам нужно использовать только:

var value = $("#inputID").val();

Ответ 5

var textValue = $("input[type=text]").val()

это получит все значения всех текстовых полей. Вы можете использовать методы, такие как дети, firstchild и т.д., Чтобы оттолкнуть.   $ ('form [name = form1] input [type = text]') Легче использовать идентификаторы для элементов таргетинга, но если они чисто динамические, вы можете получить все входные значения, а затем выполнить цикл через JS.

Ответ 6

$("form").submit(function(event) {
    
      var firstfield_value  = event.currentTarget[0].value;
     
      var secondfield_value = event.currentTarget[1].value; 
     
      alert(firstfield_value);
      alert(secondfield_value);
      event.preventDefault(); 
     });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="" method="post" >
<input type="text" name="field1" value="value1">
<input type="text" name="field2" value="value2">
</form>

Ответ 7

// for getting the value from input type text
var value = $("input[type=text]").val();
// for getting the value from by input type name
var textValue = $("input[name=text]").val()

Ответ 8

Как получить одобренный профиль Upwork (даже если вы были отклонены 10 раз).

Как получить одобрение вашего профиля на Upwork, даже если они говорят, что ваш навык не нужен.

Напишите мне, чтобы получить одобрение на ваш #upwork аккаунт !!!!

скайп: [email protected] [Джон Сноу]

Ответ 9

Вы можете попробовать эти строки:

$("#DynamicValueAssignedHere .formdiv form").contents().find("input[name='FirstName']").prevObject[1].value

Ответ 10

Вы можете получить любое значение поля ввода с помощью $('input[fieldAttribute=value]').val()

вот пример

displayValue = () => {

  // you can get the value by name attribute like this
  
  console.log('value of firstname : ' + $('input[name=firstName]').val());
  
  // if there is the id as lastname
  
  console.log('value of lastname by id : ' + $('#lastName').val());
  
  // get value of carType from placeholder  
  console.log('value of carType from placeholder ' + $('input[placeholder=carType]').val());

}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="formdiv">
    <form name="inpForm">
        <input type="text" name="firstName" placeholder='first name'/>
        <input type="text" name="lastName" id='lastName' placeholder='last name'/>
        
        <input type="text" placeholder="carType" />
        <input type="button" value="display value" onclick='displayValue()'/>
        
    </form>
</div>