اذهب إلى المحتوى

السؤال

نشر

الكود

<html>
<head>
<title>Voice to Text</title>
<script>
function erasText(){
            document.getElementById("name").innerHTML = "";
            }
            
    </script>
</head>
<body>
<form>
<label>Enter Text: </label>
<textarea placeholder="Enter text here for detection." id="name" name="name" class="result" >
</textarea>
</form>
<div class="options" style="display:none">
        <div class="anguage" >
          <p>Language</p>
          <select name="input-language" id="language"></select>
        </div>
      </div>
      <button class="btn record" id='myid'>
        <p><b>  Start Listening</b></p>
      </button>
      <div style="margin-top:-50px;" class="buttons">
        <button class="btn clear" id='clr' style="margin-left:150px" onClick="erasText()">
          <b>Clear</b>
        </button>
</div>
        


<script>
myid.addEventListener('click',function(){
    var speech = true;
    window.SpeechRecognition = window.webkitSpeechRecognition;

    const recognition = new SpeechRecognition();
    recognition.interimResults = true;

    recognition.addEventListener('result', e => {
        const transcript = Array.from(e.results)
            .map(result => result[0])
            .map(result => result.transcript)
            .join('')

        document.getElementById("name").innerHTML = transcript;
        console.log(transcript);
    });
    
    if (speech == true) {
        recognition.start();
    }
})


clr.addEventListener("click", () => {
  document.getElementById("name").innerHTML = "";
})
</script>
</body>
</html>

عندما أقوم بالنقر فوق الزر "clear" ، لا يتم مسح النص الموجود على منطقة النص وعندما أضغط على "Start Listening" ، يعمل هذا الزر. أعتقد أن وظيفة `erasText '' لا يتم استدعاءها وأن الوظيفة التالية فقط هي التي ينم استدعاءها

clr.addEventListener("click", () => {
      document.getElementById("name").innerHTML = "";
    })

أرجو منك المساعدة

Recommended Posts

  • 1
نشر

أهلا بك أخ محمد،

في الحقيقة إنّ الوظيفة earseText تعمل، لكنّ الكود الذي بداخلها لا يقوم بحذف النص داخل العنصر textarea، في الحقيقة إنّ تصحيح الكود بسيط جداً كل ما عليك استبدال innerHTML بـ value في الوظيفة كالتالي:

function erasText(){
            document.getElementById("name").value = "";
}

بالتوفيق إن شاء الله

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...