String replace is working fine for me, But how to bring the last clicked radio button label text back to the original text?
function myFunction(id) { var str = document.getElementById(id).innerHTML; var res = str.replace("{#var1#}", "<input type='text' name='var1' maxlength='30' size='30'>") .replace("{#var2#}", "<input type='text' name='var2' maxlength='30' size='30'>") .replace("{#var3#}", "<input type='text' name='var3' maxlength='30' size='30'>") .replace("{#var4#}", "<input type='text' name='var4' maxlength='30' size='30'>"); document.getElementById(id).innerHTML = res; }
Here is my PHP,HTML Code:
<tr> <td><input onchange="myFunction('<?php echo $row['id']; ?>')" type="radio" name="id" value="<?php echo $row['id']; ?>" required></td> <td><b><?php echo htmlspecialchars($row['template_name']); ?></b></td> <td id="<?php echo $row['id']; ?>"><?php echo str_replace("n","<br />",htmlspecialchars($row['template_content'])); ?></td> </tr>
Advertisement
Answer
I think you should add an extra attribute in the input instead (it can be data-origin
or some thing like that). For example:
<input value=""> <div class="display" data-origin="xxxx"></div>
And then make a function trigger the change on the input:
$(input).onchange(() => { $(display).innerHtml = $(display).attr(data-origin) }); //===continue your stuff====