首页 > 解决方案 > 我只想在选择单选按钮后在表单上突出显示我的

问题描述

这是我的html代码,请看一下。以下是我的 js 代码,请帮助我突出显示数据。在这段代码中,我从 xml 文件中读取数据,然后使用 js 将其打印在网页上,然后我想获取用户选择的数据以在表单上突出显示。

在整个 xml 文件中,客户的信息已经给出。

Html Code
<!DOCTYPE html>
<html>
<head>
<title>Client Rental</title>
<link rel="stylesheet" type="text/css" href="classdemo_2.css">
<script type="text/javascript"enter code here src="jsonfilehandler.js"></script>
</head>
<body>

    <header><h1>Client Rental Information</h1> <img src="1.png">
</header>

<h2>Search the Client Below</h2>

<table>
    <tr><td>Search By Last Name</td><td></td><td></td><td><input type="text" size="30" id="lastname"></td></tr> 
</table>
<br>
<h3 id="searchvalue"></h3>
<br>
<table id="searchresults" ></table>

<form id="register" onsubmit="register();return false">
<table class="form">
    <tr><td>Last Name</td><td><input type="text" id="lastname" size="15" pattern="[A-Za-z]{1,15}" required="true"></td></tr>
    <tr><td>First Name</td><td><input type="text" id="firstname" size="15" pattern="[A-Za-z]{1,15}" required="true"></td></tr>
    <tr><td>Address</td><td><input type="text" id="address" size="25" required="true"></td></tr>
    <tr><td>Sate_province</td><td><input type="text" id="state" placeholder="state" size="15" required="true"></td></tr>

    <tr><td>Email</td><td><input type="email" id="email" placeholder="example@example.com" size="20" required="true"></td></tr>


    <tr><td>Phone Number</td><td><input type="phone" id="phone" placeholder="A1A1A1" size="15" required="true"></td></tr>

</table>
<input type="submit" value="Submit">
</form>



    <footer class="footer">
        Contact information

    </footer>

</table>

</body>
</html>



Js Code:-
/*jsonfilehandler.js*/
var xhr = new XMLHttpRequest();
var r;
var index;
window.onload=loaddata;
function loaddata() {
    //event listener
    document.getElementById("lastname").addEventListener("keyup", function (){ searchFullName(this.value);},false);

  xhr.onreadystatechange = function() {
    if (xhr.readyState == 4 && xhr.status == 200) {
     r = JSON.parse(xhr.responseText);
      //displayData(r);
    }
  };
  xhr.open("GET", "rentalclients.json", true);
  xhr.send();




}

function searchFullName(name) {

    //var r=JSON.parse(xhr.responseText);

    var output=" ";
    var searchname;
    var displayRadiobuttons= "";
    for(var i=0; i<r.length; i++)
    {
        var obj=r[i];
        searchname=obj.last_name;
        if(searchname.toLowerCase().startsWith(name))
        {   

                    obj=obj.last_name+"\t\t\t\t"+obj.first_name;
                    displayRadiobuttons+="<input type=radio name=listitem";
                    displayRadiobuttons += " value=" + i + " ";
                    displayRadiobuttons+= "onclick=if(this.checked) {setClientObject(searchname)}>";

                    displayRadiobuttons+=obj+ "<br>";



            }
    }

document.getElementById("searchresults").innerHTML=displayRadiobuttons;
//displayRadiobuttons=  onclick=if(this.checked){setClientObject()};

}




function setClientObject(myname) {

var c=0;
alert(c);

 index=i;
 var dataitem;
  var clientobject = {
    lastname,
    firstname,
    address,
    postalcode,
    state,
    email,
    phone
  };

var searchname;

  for(var i=0; i<r.length; i++)
    {
        var obj=r[i];
        searchname=obj.last_name;
        if(searchname.toLowerCase().startsWith(name))
        {   

  clientobject.lastname = document.getElementByTagName("last_name").value;
  clientobject.firstname = document.getElementByTagName("first_name").value;
  clientobject.address = document.getElementByTagName("address").value;
  clientobject.postalcode = document.getElementByTagName("state_prov").value;

  clientobject.email = document.getElementByTagName("email").value;
  clientobject.phone = document.getElementByTagName("phone").value;

        }           
    }
  //input variables into clientobject


    document.getElementById("lastname").value = clientobject.lastname;
  document.getElementById("firstname").value = clientobject.firstname;
  document.getElementById("address").value = clientobject.address;
  document.getElementById("state").value = clientobject.state;


        document.getElementById("email").value = clientobject.phone;
  document.getElementById("phone").value = clientobject.state;



  }```

标签: javascripthtmlxml

解决方案


我重新格式化了代码,但我仍然不知道您要完成什么。

<html>
<!DOCTYPE html>
<html>
<head>
<title>Client Rental</title>
<link rel="stylesheet" type="text/css" href="classdemo_2.css">
<script type="text/javascript"enter code here src="jsonfilehandler.js"></script>
</head>
<body>

    <header><h1>Client Rental Information</h1> <img src="1.png">
</header>

<h2>Search the Client Below</h2>

<table>
    <tr><td>Search By Last Name</td><td></td><td></td><td><input type="text" size="30" id="lastname"></td></tr> 
</table>
<br>
<h3 id="searchvalue"></h3>
<br>
<table id="searchresults" ></table>

<form id="register" onsubmit="register();return false">
<table class="form">
    <tr><td>Last Name</td><td><input type="text" id="lastname" size="15" pattern="[A-Za-z]{1,15}" required="true"></td></tr>
    <tr><td>First Name</td><td><input type="text" id="firstname" size="15" pattern="[A-Za-z]{1,15}" required="true"></td></tr>
    <tr><td>Address</td><td><input type="text" id="address" size="25" required="true"></td></tr>
    <tr><td>Sate_province</td><td><input type="text" id="state" placeholder="state" size="15" required="true"></td></tr>

    <tr><td>Email</td><td><input type="email" id="email" placeholder="example@example.com" size="20" required="true"></td></tr>


    <tr><td>Phone Number</td><td><input type="phone" id="phone" placeholder="A1A1A1" size="15" required="true"></td></tr>

</table>
<input type="submit" value="Submit">
</form>



    <footer class="footer">
        Contact information

    </footer>

</table>

</body>




<script>
var xhr = new XMLHttpRequest();
var r;
var index;
window.onload=loaddata;
function loaddata() {
    //event listener
    document.getElementById("lastname").addEventListener("keyup", function (){ searchFullName(this.value);},false);

  xhr.onreadystatechange = function() {
    if (xhr.readyState == 4 && xhr.status == 200) {
     r = JSON.parse(xhr.responseText);
      //displayData(r);
    }
  };
  xhr.open("GET", "rentalclients.json", true);
  xhr.send();




}

function searchFullName(name) {

    //var r=JSON.parse(xhr.responseText);

    var output=" ";
    var searchname;
    var displayRadiobuttons= "";
    for(var i=0; i<r.length; i++)
    {
        var obj=r[i];
        searchname=obj.last_name;
        if(searchname.toLowerCase().startsWith(name))
        {   

                    obj=obj.last_name+"\t\t\t\t"+obj.first_name;
                    displayRadiobuttons+="<input type=radio name=listitem";
                    displayRadiobuttons += " value=" + i + " ";
                    displayRadiobuttons+= "onclick=if(this.checked) {setClientObject(searchname)}>";

                    displayRadiobuttons+=obj+ "<br>";



            }
    }

document.getElementById("searchresults").innerHTML=displayRadiobuttons;
//displayRadiobuttons=  onclick=if(this.checked){setClientObject()};

}




function setClientObject(myname) {

var c=0;
alert(c);

 index=i;
 var dataitem;
  var clientobject = {
    lastname,
    firstname,
    address,
    postalcode,
    state,
    email,
    phone
  };

var searchname;

  for(var i=0; i<r.length; i++)
    {
        var obj=r[i];
        searchname=obj.last_name;
        if(searchname.toLowerCase().startsWith(name))
        {   

  clientobject.lastname = document.getElementByTagName("last_name").value;
  clientobject.firstname = document.getElementByTagName("first_name").value;
  clientobject.address = document.getElementByTagName("address").value;
  clientobject.postalcode = document.getElementByTagName("state_prov").value;

  clientobject.email = document.getElementByTagName("email").value;
  clientobject.phone = document.getElementByTagName("phone").value;

        }           
    }
  //input variables into clientobject


    document.getElementById("lastname").value = clientobject.lastname;
  document.getElementById("firstname").value = clientobject.firstname;
  document.getElementById("address").value = clientobject.address;
  document.getElementById("state").value = clientobject.state;


        document.getElementById("email").value = clientobject.phone;
  document.getElementById("phone").value = clientobject.state;



  }
</script>
</html>

推荐阅读