简体   繁体   中英

javascript constant in an html element

I have a javascript constant and I was wondering if and how I can get that constant in an input form. For example.

<input form="POST" action="INSERT_API_CONSTANT_HERE/myroute" />

I was wondering if it's possible to do something like that. Thanks in advance.

First of all, your HTML tag is wrong. <form> is a different tag from <input> , so to be a form, it should be:

<form id="myForm" method="POST" action="{{api}}/myroute">
    <input type="text" value="this is an input" />
</form>

I also provided an <input> tag to you note the difference, now let's go to changing form action dynamically via javascript with 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>

Both options A and B works, but I don't think replacing a text for another the best solution, I prefer option B in my opinion.

Try this:

$("form").attr("action", $("form").attr("action")
         .replace(/INSERT_API_CONSTANT_HERE/g, APIConstant))

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM