I spent hours but can not fix my problem,
<script>
function myFunction() {
    var str = document.getElementById("text").value;
    var pattern = document.getElementById("inputpattern").value;
    var replacetext = document.getElementById("inputreplacetext").value;
    var n = str.replace(pattern,replacetext);
    document.getElementById("demo").innerHTML = n;
}
</script>
I need to set str.replace(pattern,replacetext); with html input fields, why doesn't it work?