从文本框中获取值,并将其作为建议传递到下一个文本框


Get value from a textbox and pass to the next text box as suggestion

$partOne=strtok($filename,'.');我有一个文本框,假设是url:

     <label>URL:</label>
  <input name="url" type="text" id="url" size="20" />

当用户点击此处键入时,我想在第二个文本框中显示该url的姓氏

   <label>NAME:</label>
  <input name="name" type="text" id="name" size="20" />

我尝试过的:

    <script type="text/javascript">
function myFunction() {
    var url = document.getElementById('url').value; 
    var name = <?php $path = parse_url($_GET['url'], PHP_URL_PATH); $filename = basename($path);$partOne = strtok($filename, '.'); echo $partOne; ?>;       
    document.getElementById('name').value = name;
}
</script>

并制作一个按钮进行测试:

<button onclick="myFunction()">Test Button!</button>

但看起来java脚本有问题,怀疑它是java脚本部分的php。我如何归档我的目的(最终解决方案是不点击测试按钮;用户点击第二个框,那里有一个文本可以编辑)。

此时您需要一个ajax调用。你期望的行为不能通过上述方式实现。一旦页面显示在浏览器上,就不再有PHP,只有HTML和JS。这是因为PHP是一种服务器端语言。

您有两个选项可以使表单按需工作,一个是使用Javascript执行Url处理步骤,另一个是让Ajax在后台从服务器获取结果。

   <label>URL:</label>
   <input name="url" type="text" id="url" size="20" />

   <label>NAME:</label>
   <input name="name" type="text" id="name" size="20" />

<script>
$("#url").change(function()
{
    $.ajax({
            url:"parseurl.php?key="+$("#url").val(),
            }).done(function(data)
            {
                   $("#name").val(data);
            });
});
</script>

其中parseurl.php

<?php
    $path = parse_url($_GET['key'], PHP_URL_PATH);
    $filename = basename($path);$partOne = strtok($filename, '.'); 
    echo $partOne; 
?>

我试过这个:

  $('input[name=url]').focusout(function(){
      var url = $('input[name=url]').val();
      if(url.indexOf('/') != -1) // If there is a slash in the url.. 'google.at/test.html'
      {
          var urlarray = url.split('/'); // Split the url into an array..
          var urlerg = urlarray[urlarray.length-1]; // Take the last item of the array
          $('#dlist').append('<option value="'+ urlerg+ '">'+urlerg +'</option>');
      }
      else
      {         
          $('#dlist').append('<option value="'+url+'">'+url+'</option>');
      }
  });

这是输入/数据列表项:

  <label>URL:</label>
  <input name="url" type="text" id="url" size="20" />
  <label>NAME:</label>
  <input name="name" type="text" list="dlist" id="name" size="20" />
  <datalist id="dlist">
  </datalist>

因此,当我在URL输入中写"www.google.at/test.html"时,我会在NAME输入中得到建议"test.html"。如果我只写了一个没有"/"的dokument名称,我只得到dokument的名称。

小提琴链接尝试演示

问候