2014-10-07 6 views
2

Примечание: Это переписывание старого сообщения, чтобы уточнить, что было предложено.Могу ли я установить два значения для кнопки отправки?

Предположим, у меня есть одна форма, которая отображает набор строк (например, строки в порядке), и я хочу поместить кнопку «удалить», кроме каждой строки, но, к сожалению, я не могу создать единственная форма для каждой строки.

Кроме того, предположим, что форма переходит к «универсальному маршруту действий», который является контроллером «editCart».

Для примера предположим, что в форме есть несколько других действий, например, например, добавление одного к количеству.

Это должно быть сделано с несколькими кнопками отправки в той же форме.

Если бы это был только один ряд, это просто, просто добавьте имя/значение к кнопке и стрелу! сделанный!.

<form action="/process-edition" method="post"> 
    <div>My nice things</div> 
    <button type="submit" name="subAction" value="delete">Delete</button> 
    <button type="submit" name="subAction" value="addOne">+1</button> 
</form> 

Это говорит: «Эй, контроллер действия /process-edition, я собираюсь сделать поддействия delete». Или «субАкция addOne».

Но когда у нас есть несколько строк, вам нужно сказать что-то вроде «удалить этот продукт» или «добавить один из ЭТОГО продукта».

В этом случае вам необходимо, чтобы кнопка представляла собой два значения: a) субадрес, b) идентификатор продукта, подлежащего редактированию.

<form action="/process-edition" method="post"> 
    <ul> 
     <li> 
      Product 1234: 'orange' 
      <button type="submit" name="subAction" value1???="delete" value2???=1234>Delete</button> 
      <button type="submit" name="subAction" value1???="addOne" value2???=1234>+1</button> 
     </li> 
     <li> 
      Product 6789: 'lemmon' 
      <button type="submit" name="subAction" value1???="delete" value2???=6789>Delete</button> 
      <button type="submit" name="subAction" value1???="addOne" value2???=6789>+1</button> 
     </li> 
    </ul> 
</form> 

Я думаю, что в этом случае delete и addOne является то, что исходное сообщение было спрашивать как «статический приписанное значение» и 1234 и 6789 бы «скрытые» ценности, которые приходят из базы данных. Кнопка «знает» об идентификаторе, но не отображает сам идентификатор.

Конечно, это можно решить, установив несколько форм на несколько разных контроллеров со скрытыми полями в каждой форме. Но предположим, что вы ограничены макетом, который уже имеет форму, и вы не можете создавать в нем несколько форм, что запрещает вам выделять скрытые поля для отправки или отправки.

ОРИГИНАЛЬНЫЙ ТЕКСТ ПОСТ:

одно значение должно быть скрыто от пользователя, а другой должен быть displayed.The скрытое значение извлекается из базы данных и отображается один статически присваивается значение?

+1

Вопрос не ясно, вы хотите установить значение свойства кнопку отправки? – developerCK

+0

Я думаю, что вы путаете значение с надписью (текст, написанный поверх кнопки). Может ли это быть правдой? – DrCopyPaste

+0

Нет, не подпись! @DrCopyPaste – SaGa

ответ

3

Вы можете использовать data- attr

<button type="submit" name="buttonname" data-value="value2" value="Value1">value</button> 

затем использовать Element.getAttribute() живой DEMO

var buttom = document.querySelector("button"); 
var dataValue = buttom.getAttribute("data-value"); 

alert(dataValue); 

таким образом, вы можете установить такую ​​же ценность, как вы хотите просто добавить data-*

в Лучшая часть - вы можете использовать

<input type="submit" name="buttonname" data-value3="value3" data-value="value2" value="Value1" /> 

Demo, если вам не нравится button

+0

Я попытался использовать 'onclick =" someFunction (this.data-value) "на кнопке, но это не сработало. Знаете ли вы, почему? –

+0

@SajibAcharya использовать' onclick = "someFunction (this.getAttribute (this.getAttribute (this.getAttribute) «данных значение»)) "' –

5

Да, с помощью другого инструмента.

<button type="submit" name="buttonname" value="hiddenvalue">Shown Value</button> 
+0

Проблема в том, что элемент

 Смежные вопросы

  • Нет связанных вопросов^_^