У меня есть константа javascript, и мне было интересно, как и как я могу получить эту константу в форме ввода. Например.
<input form="POST" action="INSERT_API_CONSTANT_HERE/myroute" />
Мне было интересно, можно ли сделать что-то подобное. Заранее спасибо.
Прежде всего, ваш HTML-тег неверен. <form>
- это другой тег из <input>
, поэтому для формы это должно быть:
<form id="myForm" method="POST" action="{{api}}/myroute">
<input type="text" value="this is an input" />
</form>
Я также предоставил <input>
чтобы вы заметили разницу, теперь откройте динамическое изменение действия формы через javascript с помощью JQuery:
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script>
//your "constant"
var MY_CONSTANT = "some_value";
//option A: to set action parameter, replace"{{api}}" text to your "constant" value
var originalAction = $("#myForm").attr("action");
$("#myForm").attr("action" , originalAction.replace("{{api}}", MY_CONSTANT));
//option B: you could leave form action empty in HTML and write everythig here via javascript
$("myForm").attr("action" ,MY_CONSTANT + "/myroute" );
</script>
Оба варианта A и B работают, но я не думаю, что заменить текст для другого лучшим решением, на мой взгляд, я предпочитаю вариант B.
Попробуй это:
$("form").attr("action", $("form").attr("action")
.replace(/INSERT_API_CONSTANT_HERE/g, APIConstant))