In an HTML code , i have a form Tag : 

```
<form id='my_form' action='url.hmtl'> ... </form>

```

The corresponding JS object has a property named 'action', which contains the string 'url.html': 

```
my_form=document.getElementById('my_form');
console.log(form.action);

```

The above code displays: url.hmtl
But if i add a sub-object, say an input, inside the form, with id='action': 

```
<form id='my_form' action='url.hmtl'>
  <input type="hidden" id="action" />
</form>

```

Then form.action is now the JS object corresponding to the input.

My questions : 

1. Is this behaviour normal ?
2. Should I forbid myself to use the string 'action' as id of any input ?
3. If there is such an input, is there any way to get the original property 'Action' of the form or is it lost for ever ?