#javascript #jquery #angularjs
#javascript #jquery #angularjs
Вопрос:
У меня есть форма с некоторыми скрытыми входными данными, у меня есть несколько параметров внутри формы (ul-li) и ng-click для каждого li, как в следующем коде:
<form>
<input type="hidden" id="actionToDoInput" name="action" ng-value="actionToDo"/>
<ul>
<li ng-click="submitForm($event)" data-action="DO_THIS_ACTION1">Submit this form!</li>
<li ng-click="submitForm($event)" data-action="DO_THIS_ACTION2">Submit this form!</li>
<li ng-click="submitForm($event)" data-action="DO_THIS_ACTION3">Submit this form!</li>
...
</ul>
</form>
На стороне Angular jQuery:
...
$scope.actionToDo = "";
$scope.submitForm = submitForm;
function submitForm(event){
$this = $(event.currentTarget); // li
$scope.actionToDo = $this.data('action');
$this.closest('form').submit();
}
Тогда на стороне сервера значение action равно null, когда я ожидаю значение actionToDo, но если я задаю значение actionToDoInput через jQuery, это работает:
$this.closest('form').find('#actionToDoInput').val( $this.data('action') );
Я полагаю, что это связано с сочетанием Angular и jQuery, потому что, если я открою инспектор браузера, я увижу, что код angular работает нормально, просто .submit() не отправляет данные на серверную часть.
Как я могу заставить его работать без jquery submit?
Комментарии:
1. Можете ли вы также вставить серверный код, связанный с этим? 🙂
2. <?php print_r( $_POST ); ?>
3. Вы определили метод формы как «POST», а ваш внутренний путь — как действие?
4. Не имеет смысла использовать jQuery для этого вообще